Poslat sekvenci binární číslo 8 bitů

R

Rooney_04

Guest
Jak bych mohl poslat sekvenci binární číslo 8 bitů na sériový port (Tx Pin). I m pomocí CCS C Compiler a PIC16F877A a pracovní frekvence je 20 MHz? I m plánuje použít dvě tlačítka pro počítat a počítat dolů, resp.
 
8 bitů = 1 byte. Ujistěte se, že jste nastavili rychlost a pin směry pak jen napsat byte do registru USART TX a bude to jako mávnutím kouzelného proutku objeví na pinu TX. Brian.
 
8 bitů = 1 byte. Ujistěte se, že jste nastavili rychlost a pin směry pak jen napsat byte do registru USART TX a bude to jako mávnutím kouzelného proutku objeví na pinu TX. Brian.
ahoj ... jsem udělal nějaké programování. Ale výstup není TX nezobrazuje žádný výsledek, když jsem se pokusil v Proteus. Níže je programování jsem nemohl najít, kde to jde špatně. # Include # include # include # použití zpoždění (hodiny = 20000000) # pojistky hs, noprotect, nowdt, nolvp # použití RS232 (baud = 9600, parita = N, XMIT = PIN_C6, JH = PIN_C7, stream = RS232, bitů = 8 ) # byte PORTB = 6 # byte portc = 7 # byte = 8 PORTD void main () {unsigned int n, n = 0; if (vstup (pin_B1!)) {n = n +1; putc (n); delay_ms (50);} else if (vstup (pin_B2)!) {n = n-1; putc (n);}}
 
Nemám, ale kompilátor CCS kód vypadá OK. Jediné, co bych otázku, jsou: 1. Máte nastavit TRIS kousků pro RX a TX piny, nebo se "# použití RS232" směrnice o to, že pro vás? 2. Má putc () automaticky pomocí USART nebo si budete muset říct, že pokud je odeslán charakter proudu? Předpokládám, že kompilátor přidává kód pro ověření, zda rejstříku TX je zdarma k načtení. Pokud tomu tak není je třeba zkontrolovat, že je prázdná před použitím putc (), aby zavedly nová data do něj. Vzhledem k tomu, program není ve smyčce, já jsem také za předpokladu, že nejste hledáte trvalého výkonu, v okamžiku, kdy se bude provádět s žádným výstupem pokud 'spouštěcí' s vstup. Brian.
 
nemám kompilátor CCS, ale kód vypadá OK. Jediné, co bych otázku, jsou: 1. Máte nastavit TRIS kousků pro RX a TX piny, nebo se "# použití RS232" směrnice o to, že pro vás? 2. Má putc () automaticky pomocí USART nebo si budete muset říct, že pokud je odeslán charakter proudu? Předpokládám, že kompilátor přidává kód pro ověření, zda rejstříku TX je zdarma k načtení. Pokud tomu tak není je třeba zkontrolovat, že je prázdná před použitím putc (), aby zavedly nová data do něj. Vzhledem k tomu, program není ve smyčce, já jsem také za předpokladu, že nejste hledáte trvalého výkonu, v okamžiku, kdy se bude provádět s žádným výstupem pokud 'spouštěcí' s vstup. Brian.
ahoj. na první otázku, protože programování nefunguje, pokud i didnt nastavit Bit TRIS. Jak mohu nastavit TRIS bity? na druhou otázku, z manuálu jsem četl, že bude posílat TX pinu přímo, protože je tam jeden pin pro sériový přenos. im pomocí tlačítka spustit ji. Takže to, proč jsem použil kód if (! Input_pinB1). Nicméně, já jsem simulace Proteus, ale žádný výsledek vyšel, když jsem stiskl tlačítko. Tak im druh zmást hned ...:-?
 
Pokud je třeba udělat, listy říká:
bitů TRISC musí být stanoveny tak, aby ke konfiguraci pinů RC6/TX/CK a RC7/RX/DT jako univerzální synchronní asynchronní přijímač vysílač
tak. přidat TRISC | = 0xC0, by měla stanovit oba. Mám pocit, váš problém je ve způsobu, jakým jste simulující ačkoli. Program bude probíhat a zastaví v malém zlomku vteřiny, nebude čekat na stisknutí tlačítka. Pokud chcete, aby čekat, buď dát do smyčky, dokud je tlačítko stisknuté nebo zabalit vše od první 'kdyby' výpis uvnitř a zároveň () smyčku, takže celý kód neustále opakuje. Brian.
 

Welcome to EDABoard.com

Sponsor

Back
Top