| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
Несчастный УАРТ
09.02.2011, 01:03
|
|
|
Частый гость
Регистрация: 19.10.2009
Сообщений: 11
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Re: Несчастный УАРТ
Продолжим. 
Значит полазил по широким просторам. Кое-что нашел по прерыванию.
Итак, пишу вектор прерывания RX_Complete. Срабатывает значит прерывание(вижу в отладке), и опосле кидает фиг знает куда в код программы. Где-то находил упоменания про rjmp/rcall в векторах. Как правильно писать? Пишу так:
|
Код:
|
.cseg
.org 0 rjmp Reset
.org 0x000B rjmp USART_RXC ; USART RX Complete |
|
|
|
|
09.02.2011, 01:44
|
|
|
Гражданин KAZUS.RUN
Регистрация: 14.11.2008
Сообщений: 701
Сказал спасибо: 298
Сказали Спасибо 283 раз(а) в 193 сообщении(ях)
|
Re: Несчастный УАРТ
jakuchma, Вам для какого МК. Я понимаю, что дпя ATMEL, но точнее.
И если Ваша прога не секретная выложите всю, можно в rar.
|
|
|
|
09.02.2011, 01:49
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Несчастный УАРТ
Вот вам и ассемблер. Элементарная задача столько крови пьет.
|
|
|
|
09.02.2011, 01:59
|
|
|
Частый гость
Регистрация: 19.10.2009
Сообщений: 11
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Re: Несчастный УАРТ
Программа для меги8, абсолютно не секретная былоб что вылаживать выложил бы. С прерыванием разобрался. Вчера уже поздно было завтыкал. Нашел тут AVR. Учебный курс. Передача данных через UART
Прерывание срабатывает, теперь что значит
|
Цитата:
|
|
6.Счётчик для отсчёта Таймаута. Таймер для собственно отсчета.
|
Это запускать надо таймер?
Хорошо в AVR32100 есть:
|
Цитата:
|
4.2 Timeout handling
All USARTs have support for timeout handling. There are 3 timeout functions
available for each USART:
• usart_start_timeout_now( usart_t usart, int timeout )
o This function will start a timeout immediately.
• usart_start_timeout_after_transfer(usart_t usart, int timeout)
o Timeout will start automatically after the next reception of a character
of the actual USART.
• usart_has_timed_out( usart_t usart )
o Returns true or false.
|
Последний раз редактировалось jakuchma; 09.02.2011 в 02:04.
|
|
|
|
09.02.2011, 02:00
|
|
|
Частый гость
Регистрация: 19.10.2009
Сообщений: 11
Сказал спасибо: 0
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Re: Несчастный УАРТ
Сообщение от Easyrider83
|
|
Вот вам и ассемблер. Элементарная задача столько крови пьет.
|
И не говорите. Плохо быть бестолковым
Кто как отлаживает UART. А то у меня AVR студия 4.18.716 + протеус7.6 вываливается ошибка после каждой компиляции. Приходится по новому открывать проэкт каждый раз, и деспетчером ISIS процесс убивать.
Последний раз редактировалось jakuchma; 09.02.2011 в 02:11.
|
|
|
|
09.02.2011, 08:09
|
|
|
Гражданин KAZUS.RUN
Регистрация: 16.06.2005
Сообщений: 942
Сказал спасибо: 25
Сказали Спасибо 174 раз(а) в 123 сообщении(ях)
|
Re: Несчастный УАРТ
Сообщение от Easyrider83
|
|
Вот вам и ассемблер. Элементарная задача столько крови пьет.
|
Задача действительно элементарная, на пол часа. Но причем здесь ассемблер? Для столь простой задачи, менее 100 строк, что на С, что на асме время решения будет примерно одинаково, и определяться будет знаниями программиста. Здесь же кровь пьет не задача  , а начинающий программер.
|
|
|
|
09.02.2011, 08:10
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
|
Re: Несчастный УАРТ
Сообщение от jakuchma
|
|
Кто как отлаживает UART. А то у меня AVR студия 4.18.716 + протеус7.6 вываливается ошибка после каждой компиляции.
|
Если пишете на АСМе - то только www.algrom.net Гораздо быстрей пойдет, и отладчик очень толковый
|
|
|
|
09.02.2011, 10:29
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
|
Re: Несчастный УАРТ
Сообщение от Easyrider83
|
|
Вот вам и ассемблер. Элементарная задача столько крови пьет.
|
Ассемблер ни причём. Логика работы, как указывал выше, одинакова для любого языка. И для любого контроллера тоже. Ну за исключением некоторых аппаратных особенностей.
А вот с такими весчами лучше не связываться. Лишняя путаница и двойная работа. Эти генераторы кода...
Сообщение от jakuchma
|
|
Кто как отлаживает UART. А то у меня AVR студия 4.18.716 + протеус7.6 вываливается ошибка после каждой компиляции.
|
Перед компиляцией в AVR Studio отключайте симуляцию в Proteus-е и перед запуском симуляции завершайте отладку в студии.
|
|
|
|
09.02.2011, 11:17
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
|
Re: Несчастный УАРТ
Сообщение от omercury
|
|
А вот с такими весчами лучше не связываться. Лишняя путаница и двойная работа. Эти генераторы кода...
|
Сроки разработки и отладки увеличиваются в 0,2...0,25 раз (можете посчитать - проверено лично). Это голый ассемблер с интеллектом а не генератор кода.
"Пастернака не читал, но осуждаю"
|
|
|
|
09.02.2011, 11:36
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
|
Re: Несчастный УАРТ
Сообщение от niXto
|
|
"Пастернака не читал, но осуждаю"
|
Да пробовал я его. На запись r17=25 генерит ldi r16,25 mov r17,r16. Нафиг.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 14:33.
|
|