Píšem program v Bascom-AVR pre anténny rotátor, ktorý bude riadený cez RS232 z PC. Na vstup RxD uP prijíma textový reťazec, ktorý obsahuje príkaz a azimut (4 znaky +0Dh). Problém je, že ho správne príjme len do rýchlosti 1200. Pri rýchlosti 2400 a vyššej niektoré znaky niekedy nepríjme, niekedy áno. V poriadku je to, keď ich posielam cez terminál po jednom znaku, t.j. medzi znakmi je medzera. Robí to, keď ich pošlem z terminálu, alebo z trackovacieho programu naraz. Príjem znakov som už realizoval za pomoci input, inkey, waitkey, serin a je to rovnaké. Ešte upresním, že používam ATmega8A, xtal=11.0592MHz, mód 8, N, 1. Skúsil som aj interný RC osc. 8MHz, laboroval s CKOPT a je to rovnaké. Prevodník USB/RS232TTL je v poriadku, ten chodí v slučke do maximálnej rýchlosti.
Tá časť programu teraz vyzerá nasledovne:
.....
A = Ischarwaiting()
If A = 0 Then Goto Koniec
Input S
..... 'spracovanie retazca S
Koniec:
Prosím o radu, kde by ešte molo byť problém. Buďte ku mne zhovievaví. Som už starší pán odchovaný na kremíkových tranzistoroch a MH74xx. Ďakujem.
Problém s rýchlosťou RS232
Moderátori: psichac, Moderátori
Re: Problém s rýchlosťou RS232
Problém je už neaktuálny. Bol som sa trochu poprechádzať so psom do lesa a vyčistiť hlavu. Problém bol nie v prijímaní z RS232, ale v ďalšom spracovaní, kde pri posielaní na displej bola inštrukcia waitms 5. Po jej prepísaní na waitus 100 je všetko v poriadku.
0
-
- Podobné témy
- Odpovedí
- Zobrazení
- Posledný príspevok
-
- 0 Odpovedí
- 1612 Zobrazení
-
Posledný príspevok od používateľa liptacik
-
- 19 Odpovedí
- 1811 Zobrazení
-
Posledný príspevok od používateľa 5ko
-
- 2 Odpovedí
- 1436 Zobrazení
-
Posledný príspevok od používateľa romiadam
-
- 2 Odpovedí
- 520 Zobrazení
-
Posledný príspevok od používateľa Edgar
-
- 14 Odpovedí
- 1010 Zobrazení
-
Posledný príspevok od používateľa cs001