Глобальная Переменная И Прерывания

4-11-2013, 14:40 От: admin Посмотрели: 864
Добрый день, дорогие форумчане!

Осваиваю UART, столкнулся с такой проблемой: глобальная переменная не видится в прерывании.

Вот код:


#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#define XTAL 8000000L
#define baudrate 9600L
#define bauddivider (XTAL/(16*baudrate)-1)

volatile unsigned char ccc='d'; //вот она

ISR(USART_RXC_vect)
{
unsigned char temp;
temp=UDR; //без этого прерывание встает
ccc=temp;
}
inline void HrdInit(void)
{
PORTD=(1<<5|1<<4);
DDRB=(1<<3|1<<4);
PORTB=(1<<3|0<<4);
}
void uart_SendByte(unsigned char B)
{
while(!(UCSRA & (1<<UDRE))) ;
UDR=b;
}
unsigned char uart_RecByte(void)
{
while(!(UCSRA&(1<<RXC))) ;
return UDR;
}
void USART_init()
{
UBRRH=(unsigned char)(bauddivider>>8);
UBRRL=(unsigned char)(bauddivider);
UCSRA = 0;
UCSRB = 1<<RXEN|1<<TXEN|1<<RXCIE|0<<TXCIE;
UCSRC = 1<<UCSZ0|1<<UCSZ1;
}
void main()
{
USART_init();
HrdInit();
asm("SEI");
while(1)
{
if(!(PIND & (1<<4)))
{
uart_SendByte(ccc);
}
}



В теории программа должна по получению байта записывать его в глобальную переменную и по нажатию кнопки выдавать в канал, но выдает она только то, что в нее занесли при инициализации (либо 0). Подобную тему на этом форуме уже находил, но ничего полезного там не нашел. Заранее спасибо
Раздел: AVR

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться, либо войти на сайт под своим именем.

Обсудить на форуме


На момент добавления Глобальная Переменная И Прерывания все ссылки были рабочие.
Все публикации статей, книг и журналов, представлены на этом сайте, исключительно для ознакомления,
авторские права на эти публикации принадлежат авторам статей, книг и издательствам журналов!
Подробно тут | Жалоба

Добавление комментария

Ваше имя:*
E-Mail:*
Текст:
Вопрос:
Решите уравнения x+2x=789
Ответ:*
Введите два слова, показанных на изображении:



Опрос

Ваши предпочтения в TRX


Одинарное преобразование
Двойное преобразование
Прямое преобразование
SDR
Другое
Мне всё равно

Популярные новости
Календарь новостей
«    Май 2024    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031