Ответ: Программки внутри(+)
(«Телесистемы»: «Конференция «Микроконтроллеры и их применение»»)

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

Отправлено только учусь 29 апреля 2003 г. 11:34
В ответ на: А с чего Вы взяли, что флаг ТХС0 не выставляется?(+) отправлено AlexD 29 апреля 2003 г. 10:59

Мне непонятно даже, почему возникает первое прерывание, т.к. я ничем не гружу (в основной программе) регистр UDR0. Как видите, обработчик прерывания достаточно короток.

#include "project.h"

#pragma vector=0x48
__interrupt void USART0_RXC(void);

#pragma vector=0x4C
__interrupt void USART0_UDRE(void);

#pragma vector=0x50
__interrupt void USART0_TXC(void);


void USART0_Init (unsigned char baud)
{
UCSR0A=(1<UBRR0H=0x00; // set baud rate
UBRR0L=(unsigned char)(baud);

// Enable receiver and transmitter, + разрешение прерываний по передаче и приему байта
UCSR0B=(1<
// set format: 8data, 2stop bit
UCSR0C=(1<}


__interrupt void USART0_RXC(void)
{
PORTA=0xFF; // просто так, для проверки
PORTA=0xFF; // просто так, для проверки

}

__interrupt void USART0_TXC(void)
{
UDR0=0x25;
Pause(3);

}

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

Ответы



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

E-mail: info@telesys.ru