Fórum témák

» Több friss téma
Fórum » Atmega162 Soros Kommunikáció probléma
Lapozás: OK   1 / 1
(#) prody hozzászólása Nov 8, 2010 /
 
Nos egy érdekes problémába ütköztem melyre a releváns fórumban sem tudtak helyes választ adni ezért nyitom ezt a topikot.

Az alap feladatom egy Atmega162-nek a PC-vel való kommunikálása volt.
Max232 helyesen van bekötve igazából kizárt hogy az áramkörnek hibája legyen az adat szépen kimegy rajta és a Hiperterminál látja is azt a karaktert amit kiküldtem, DE, az összes többi létező soros portot figyelő szoftver egy hibás karaktert lát, ami nem is lenne akkora probléma de egy Perl szoftver fogja feldolgozni a beérkező adatot, és ez a szoftver is ugyanazt a hibás karaktert látja amit a sorosport figyelő szoftverek. Tehát csak a Hyper Terminál látja azt amit valóban kiküldök.

18,432 MHz-es kristályt használok ami 0% hibával dolgozik. És a szoftvernek is jónak kell lennie hisz a hitperterminál a jó karaktert látja, akkor most mi van?

Például kiküldök egy s betűt és egy ó-t lát midnen a hiperterminál meg látja azt az s-t... Nem értem én ezt...
(#) Hp41C válasza prody hozzászólására (») Nov 8, 2010 / 4
 
Szia!

A 7 bites illetve a 8 bites adatformátum különbségből fakad a hiba. Az "s" kódja 0x73, az "ó" kódja 0xF3.
A hiperterminál lemaszkolja a 7. bitet, a többi program megmutatja.

Megoldások
- Az AVR és a PC azonos bitszámot használjon.
- 7 bites az átvitel esetén a legfelső bitet a feldolgozás előtt törölni kell.
(#) prody válasza Hp41C hozzászólására (») Nov 8, 2010 /
 
Uhhhh köszi életet mentettél!

Tervben volt egyébként hogy lecsekkolom mi helyett mit lát csak zavart hogy a terminál miért látna mást hisz ugyanugy van paraméterezve mint a többi portfigyelő...

De megoldotta a gondot, igazából az volt a baj, hogy egy másik példaprogramból ez volt a kód:
UCSR1C = (1 << URSEL) | (3 << UCSZ0);

És ezt én elfogadtam jónak holott, ki kellett írni hogy
UCSR1C = (1 << URSEL) | (1 << UCSZ10)| (1 << UCSZ11);

wáááááááááá örület, az ilyen.... Most totál amatőrnek érzem magam... :S>>>>>>>>>>
(#) fakóló hozzászólása Feb 26, 2013 /
 
Üdv! Tudtok abban segíteni, hogy az atmel atmega 162 mely lábait kell a programozóra kötni?
Következő: »»   1 / 1
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem