[ 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.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.