problém v AVR C kódov

E

engineer khan

Guest
?? To, čo robí tieto prostriedky v programe prepojenie LCD (plz niekto pomoct mi bratmi)
Code:
 lcd_cmd (unsigned char položka) {Dataport = item; ctlrport = (0
 
Obaja výpis kódu robia to isté s výnimkou oneskorenia (50) v prvom zozname.
 
Myslím, že problém je so zložitosťou tu autor kódu snažil kód jasné, ale to by mohlo byť zložitejšie neskúsených očiach. (S) sa pokúsil zdôrazniť "R" a "rw" bity by mali byť 0, ak "en" je taktovaný:
Code:
 ctlrport = (0
 
čo>, |?? stať stručný nich plz,,,, prevýšenie v použití rovnakej c kódy ako pre 8051, ako som dal v predchádzajúcom príspevku??
 
Už ste urobili hľadanie pre operátorov C? Ak nie, mali by ste, nájdete veľa webových stránok, ktoré vysvetľujú tieto.
 
[QUOTE = inžinier khan; 1139411]????, Čo>, | stojan na krátke nich plz,,,, prevýšenie v použití rovnakej c kódy ako pre 8051, ako som dal v predchádzajúcom príspevku [/QUOTE]> posunie bit právo. Ak PORTA = 0b00000001, ak je to posunuté vľavo stáva 0b00000010, tj 1 port 8port znamená hodnota zostáva rovnaký. | Je bitový operátor OR.
 
To nie je správne správanie, ktoré je opísané sa otočiť nemohli posunúť. Pre správnu posunu 1 na byte dáva 0 a posun doľava od 8 dáva tiež 0, ak je počiatočná hodnota je 1.
 
Tam nie je žiadny operácie použitá na "ctrlport" v 1. riadku, je to len naloží s novou hodnotou, ktorá '0 'sa posunul' en ', koľkokrát, ktorý je stále '0'. V 2. riadku sa opäť nabitá s novou hodnotou, ale tento čas 3 hodnoty ORed. Zatiaľ čo "(0
 

Welcome to EDABoard.com

Sponsor

Back
Top