реклама на сайте
подробности

 
 
> UART Atmega32, проблема с UART
temich
сообщение Apr 2 2015, 09:15
Сообщение #1





Группа: Участник
Сообщений: 9
Регистрация: 4-02-14
Пользователь №: 80 326



Здравствуйте! имеется контроллер Atmega32, в нем программа которая каждые полсекунды посылает символ по UART, который затем успешно принимается компьютером с помощью преобразователся USB-TTL на микросхеме PL-2303. Все бы ничего, если бы не одно НО: после выключения питания контроллера (GND остается) при подключенном UART (только TX) контроллер продолжает работать!!!! То есть по сути питается от UART!! Для наглядности даже подлючены светодиоды на порт B, которые продолжают мигать, но уже с меньшей яркостью.
Кто может объяснить такое явление? в чем проблема? в неправильной настройке UART или может с преобразователем USB-TTL что-то не то?

CODE
#define F_CPU 8000000UL
#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>

void send_char(char data)
{
while(!(UCSRA & (1<<UDRE)));
UDR = data;
}

int main(void)
{
/*PORTB на выход*/
DDRB = 0xFF;
PORTB = 0x00;

/*настройка UART*/
UBRRL = 0x33; //0x33 - Baud Rate = 9600 (при fosc = 8MHz)
UCSRB = 0b00011000; //бит4 - RXEN, бит3 - TXEN
UCSRC = 0b10000110; //бит7 - URSEL (Register Select: если 1 то UCSRC), бит2,1 - UCSZ1,UCSZ0 (формат кадра)

PORTB |= (1<<PORTB2);

while(1)
{
PORTB ^= (1<<PORTB2);
PORTB ^= (1<<PORTB3);
send_char('A');
_delay_ms(500);
}
}
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Сергей Борщ
сообщение Apr 2 2015, 11:44
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



От Rx запитываться не должен, а от Tx через паразитные защитные диоды на входе Rx меги - может и будет. Либо ставьте диод, либо меняйте схему переходника, чтобы обеспечить режим self-powered device.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Владивольт
сообщение Apr 3 2015, 08:49
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 14-02-10
Пользователь №: 55 490



Если нет возможности "влезть" в сторонний переходник, то
Цитата(Сергей Борщ @ Apr 2 2015, 15:44) *
... ставьте диод...



--------------------
#define TRUE (4==(2*2))
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 18:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01795 секунд с 7
ELECTRONIX ©2004-2016