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

 
 
> Atmega128 – подделка?
Alexey_l
сообщение Sep 11 2012, 19:12
Сообщение #1


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

Группа: Свой
Сообщений: 99
Регистрация: 5-11-04
Пользователь №: 1 063



Вот столкнулся недавно, собрали устройства на новой партии атмег, не работают, до этого несколько сотен работали без проблем. Стал разбираться – теряются байты при передаче по UART. Передача была сделана как в примере из документации, т.е. проверяем есть ли место буфере, если есть, пишем 1 байт, если нет ждем. Заработало как полагается, только когда добавил ожидание окончания передачи после записи в UDR0. И еще ток жрет в 2 раза больше чем предыдущие экземпляры, и по потреблению выходит за значения указанные в документации. Кто-нибудь сталкивался?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alexey_l
сообщение Sep 12 2012, 05:42
Сообщение #2


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

Группа: Свой
Сообщений: 99
Регистрация: 5-11-04
Пользователь №: 1 063



Напряжения питания +5,0В (пробовали поднимать до +5,5В), тактирование внешнее +16МГц.
Фьюзы: совместимость с 103 отключена, тактирование внешнее, BOD отключен (ресетится внешним контроллером). Прерывания не используются.

CODE
//настройка УАРТ
    LDI R16,0x44
    OUT UBRR0L,R16
    LDI R16,0x00
    STS UBRR0H,R16
    LDI R16,3<<UCSZ00
    STS UCSR0C,R16
    LDI R16,(1<<TXEN0)
    OUT UCSR0B,R16


CODE
//так не работает
UART_Tx:
    sbis UCSR0A,UDRE0
    rjmp UART_Tx
    out UDR0,r16
    ret


CODE
//так работает
UART_Tx:
    sbis UCSR0A,UDRE0
    rjmp UART_Tx
    out UDR0,r16
U1:
    sbis UCSR0A,TXC0
    rjmp U1
    ret

Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 06:51
Рейтинг@Mail.ru


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