Показать сообщение отдельно
Старый 28.01.2011, 11:26   #3
EviL_LaugH
Senior Member
 
Регистрация: 14.12.2010
Возраст: 30
Сообщений: 194
Вес репутации: 141/37
EviL_LaugH will become famous soon enoughEviL_LaugH will become famous soon enough
По умолчанию Re: MAX232 и USART, отсутствует сигнал на выходе.

Цитата:
и опять эти тщетные попытки сбросить флаг RCIF...
Я знаю, что он сбрасывается аппаратно при чтении регистра RCREG. Я уже весь даташит по этому USART выкурил. Это я так, для очистки совести его сбросить попытался, когда увидел, что при первом попадании в прерывание и чтении RCREG он почему-то не сбрасывается. Может, Вы знаете, почему в прерывание при приёме попадает 2 раза?

Цитата:
а где сохранение/восстановление контекста в прерывании?
А зачем оно здесь нужно? У меня приём не постоянный, а по желанию пользователя. Максимум, что может поменяться в прерывании - это регистр WREG, а он используется только при передаче данных. Ну передастся пусть один неправильный байтик из 9600/8 в секунду (это если юзер будет передавать данные раз в секунду, да ещё и постоянно попадать в момент изменения WREG), да и Бог с ним.

Но, разумеется, Вы правы, в "реальных" программах это делать надо, недаром этому в даташите целый параграф посвящён. Это же не более, чем тестовая программа, простая как 3 копейки. Но и она не работает, причём, судя по всему, по причине аппаратной, а не программной.

Что с MAX232-то? чего она данные на выход не передаёт?
EviL_LaugH вне форума   Ответить с цитированием