Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Ответ: Сделайте вставку на ассм (без всяких мутных getchar) (+)

Отправлено Assm 18 июня 2007 г. 15:20
В ответ на: ATmega16 у меня почему то плохо работает с СОМ портом.Подробнее внутри. отправлено <font color=gray>irek</font> 18 июня 2007 г. 15:00

Вот примерная процедурк аиз одного из моих проектов, RxD нужно подкорректировать под свои нужды, а TxD можно юзать просто так.

У меня никогда проблем с уартом не было.


;============================================================================
;UART.asm Int П/П обслуживания "хардварного" последовательного порта.
;17/VI.05.
; Автоматом сохраняются только SREG,TMP,TMP2,XTMP !!!
;============================================================================
RxD: ;Прием байта
sei ;Разрешаем вложенные прерывания.

/*
;============================================================================
; "RXD.asm" ; processing of RS232 interface IRQ
; 22/X.02. ; RCS contain a received data. P.S. ;!!=rem
;Use only TMP,SREG registers!
;============================================================================
RXD:
sbr TF,B_UART ;Set the UART activity flag
sbrs TF,F_NO_CMD ;Пропускаем перенос входящих данных в CMDP буфер,
rjmp U_PLUS ; если предыдущая команда ещё не забрана CP, (но
; считаем вх. байты во избежании потери синхронизации),
; иначе обрабатываем принятый байт.
lds TMP,S_C_UDB ;Read the UART Data Byte Counter
cpi TMP,0 ;Determine the byte number
breq U0 ;If it is zero byte, then go to U0 mark.
cpi TMP,1 ;--//--
breq U1 ;
cpi TMP,2 ;--//--
breq U2 ;
cpi TMP,3 ;--//--
breq U3 ;
;--------------------------------------------------------------------
;
U0: mov CMD0,RCS
rjmp U_PLUS
U1: mov CMD1,RCS
rjmp U_PLUS ;Продолжаем приём пакета, т.к. обнаружена команда.
U2: mov CMD2,RCS

Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 47:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru