[an error occurred while processing this directive]
Последовательный порт MCS 251 в Keil uVision2
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Mx 05 июня 2005 г. 18:46

Всем привет. Я слабовато разбираюсь в микроконтроллерах, но срочно надо осуществить "общение через последовательный порт".

Я пишу на C251 в Keil uVision. Объявляю функцию:

void serial_isr (void) interrupt 4
{
}

Инициализирую в main () порт:

EA = 1;
EX0 = 1; // мне еще нужно внешнее прерывание INT0#
SCON = 0x50;
TMOD |= 0x20;
TH1 = 0xF4; // частота 2400
TR1 = 1;
ES = 1; // также разрешаю прерывание последовательного порта

Так вот пишу в Serial Port с помощью printf и не фига не получается. По-окончании прога вываливается в дизассемблер. Если флаг ES не использовать (то бишь отключить прерывание) и добавить строку TI = 1, то printf выполняет все как надо, если заменить printf просто на SBUF = v - тоже не работает. В чем дело? Помогите, пожалуйста, как же настроить последовательный порт в C251? Мне необходимо принимать данные и отправлять.

Спасибо.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru