RS232<->MCU podivne chovani
andrej jancura
hw_aj@zoznam.sk
Neděle Srpen 10 14:31:33 CEST 2008
Ahoj,
> Mam procesor PIC18 , s krytalem na 20MHz a komunikuje pomoci rs232
> (avsak jen LOG0 LOG1, nikoliv pres MAX prevodnik).
Mozno potrebujes invertovat urovne, ale uz som s tym dlho nerobil. A ked
nieco, tak ten MAX232 tam mam vzdy.
> Mam jednoduchy program
> USART_init(19200);
> //spustime interupt
> TMR0L=101;
> T0CON = 0xC4;
> INTCON=0xA0;
Tak si to prepis do normalnych instrukcii. Ako napisat tri riadky, kde si
vsetko nastavis ako treba asi nie je problem. A hlavne budes vediet co si si
nastavil.
> while (1) {
> if (USART_Data_Ready()) {
> tbyte=USART_Read(); // read the received data
> print(tbyte);
> }
> }
dtto. Testovat priamo dva flagy na TX a RX asi nie je problem. Ako su
urobene tie funkcie zase netusis...
> Potiz je v tom ze obcas prijima nesmysly, dokonce kdyz poslu retezec
> znaku, tak prijme retezec nesmyslu.
Tie rutiny su sw-rs232?!
> Komunikaci jsem zkousel v rychlosti 2400,9600 a 19200 bd.
> Taktovani bylo na20 MHz, pote jsem zkusil 8MHz.
> Kompilator je Mikroelektronikca C.
Skus HiTech...
> Vystup na RS232 je bezchybny ( monitoruji RX pin na MCUpres
> Hyperterminal a tam data prijdou v poradku)
Nastavenie IO pinov vs. USART je v poriadku?
> Je fakt ze mam v tom programu jeste pretuseni, ale to by snad na to
> nemelo mit vliv, vypnout jej by znamenalo obtiz , protoze komunikace je
> posilana pres casomiru v interaptu.
Tak si ho vypni a skus cistu komunikaciu poslem z PC znak, prijmem znak v
MCU, urobim echo. Pokial nejde, je kdesi chybycka...
A.
--- reklama -----------------------------------------------------
Viac ako 2,5 milióna slov.
Najlepší prekladový slovník na slovenskom internete.
http://slovnik.zoznam.sk
Další informace o konferenci Hw-list