[ okin @ 25.09.2007. 12:57 ] @
Mođe li mi neko reći šta nevalja u ovome kodu, ili u čemu je već problem? Koristim PIC C Compiler i prijavljuje mi sledeću grešku prilikom kompajliranja: "Undefined indetifier BORTB"
Kod je sledeći:

#include <16F877A.h>
#use delay (clock=4000000)
#fuses XT,NOWDT,NOLVP,PUT
#include <stdlib.h>

void main() {
PORTB=0b.1111.1010;
TRISB=0b.1111.1010;
While(1){
PORTB=~PORTB;
Delay_ms(20);

}
}
[ okin @ 25.09.2007. 21:50 ] @
Pa zar nema niko da mi kaze u cemu je problem???
[ pelctronics @ 26.09.2007. 07:48 ] @

Netrebaju ti tacke izmedju!
Proveri definiciju za binarne brojeve!

0b.1111.1010;
[ korak @ 27.09.2007. 10:51 ] @
Kakve veze ima greska u pisanju binarnig broja sa porukom da je nepoznato ima BORTB ???

C je 'cudo' od prog. jezika, cesto vas dovodi do ludila: da li da se smejete ili da psujete.

Pozdrav
[ sander @ 24.11.2007. 00:54 ] @
Pa sama ti poruka kaze da PORTB njemu nista ne znaci, da bi koristio PORTB na nacin na koji ti hoces trebalo bi da napises:

#BYTE PORTB = 6

sto ce reci da kada citas ili upisujes nesto u promenljivu PORTB ti ustvari pristupas RAM-u na adresi 6 a pogadjas da se tamo nalazi registar PORTB.

Takodje mozes da koristis za istu stvar funkciju output_B(vrednost);
dok za promenu TRISB registra set_tris_B(vrednost);

ili sledeci primer sa PORTB isto mozes da uradis i sa TRISB registrom:

#BYTE TRISB = 0x86
gde je 0x86 adresa TRISB registra.

Slicno ovome ako hoces da pristupas nekom bit-u pises:

#BIT T0IF = 0xb.2 (T0IF bit je bit 2 na adresi 0xb odnosno adresa registra INTCON)


Tako da tvoj program treba da glasi:

#include <16F877A.h>
#use delay (clock=4000000)
#fuses XT,NOWDT,NOLVP,PUT
#include <stdlib.h>

#byte PORTB = 0x06
#byte TRIS = 0x86

void main() {
PORTB=0b11111010;
TRISB=0b11111010;
While(1){
PORTB=~PORTB;
Delay_ms(20);

}
}

ili

#include <16F877A.h>
#use delay (clock=4000000)
#fuses XT,NOWDT,NOLVP,PUT
#include <stdlib.h>
#use fast_io(B)

void main() {
output_b(0b11111010);
set_tris_b(0b11111010);
While(1){
output_b(~input_b());
Delay_ms(20);

}
}

[Ovu poruku je menjao sander dana 24.11.2007. u 02:04 GMT+1]
[ sander @ 26.11.2007. 20:20 ] @
Sad primetih da ako si vezao LED-ove na portu B neces moci da vidis da one blinkaju odnosno da vidis da se pale i gase jer im menjas stanje na 20mS sto je 25Hz sto ce za ljudsko oko biti kao da su stalno upaljene, takodje samo su ti pinovi 0 i 2 porta B postavljeni kao izlazni tako da ako imas povezane LED-ove na svim pinovima porta b samo ces videti promenu na ta dva pina.