Reset ATMega32 při sériovém příjmu
Moderátor: Moderátoři
Reset ATMega32 při sériovém příjmu
setkal jsem se s podivným jevem u ATMega32. Je zprogramován příjem a vysílání přes USART pomocí přerušení, nicméně se to projevuje, i když USART není vůbec inicializován. V okamžiku příjmu znaku na pinu RX dochází k zákmitům na pinu (16 MHz) krystalu XTAL2 (pin12) a pokud je příjem opakovaný a častější, vede to k resetu procesoru. Děje se to, je-li USART aktivován, nebo když není a PIN14 (PD0/RXD) je nastaven na vstup. Nastavení RXD na výstup zatlumí příchozí data a nic se neděje. Sériový příjem je realizován převodníkem USB <-> RS232 CH340G. Nastavením hodin na vnitřní oscilátor 8 MHz jev vymizí. Na obrázcích je červeně signál na RXD při příjmu znaku '*'. Žlutě je průběh na XTAL2 (16 MHz). Zákmity vznikají při sestupné hraně na RXD. Na druhém obrázku je lupa. Jev se mi projevil na dvou různých procesorech. Co s tím dělat?
- Přílohy
-
20140605_661025.jpg- časová lupa
- (45.13 KiB) Staženo 164 x
-
20140605_660958.jpg- příjem '*'
- (38.11 KiB) Staženo 158 x