Это первый и надеюсь единственный блог avr123.nm.ru blog (новый адрес курс AVR начинающим www.proavr.narod.ru) - собственно вопросы и скорые ответы
Здесь ЗАПРЕЩЕНО ! Задавать вопрос: "доколе !?"
==========
roboforum.ruТехнический форум по робототехнике. |
|
|
|
Реклама | ||||
|
|
|||
volatile unsigned char tx_buffer_index = 0 , tx_buffer[uart_buffer_size] , tx_counter = 0;
volatile unsigned char rx_buffer_index = 0 , rx_buffer[uart_buffer_size] , rx_counter = 0;
volatile unsigned char global_flag = 0;
interrupt[USART_RXC]void ReciveComplite(void)
{
unsigned char data = 0 ;
data = UCSRB;
data = UDR;
if( (rx_buffer_index != uart_buffer_size) && check_valid_symbol(data) )
{
rx_buffer[rx_buffer_index] = data;
rx_buffer_index++;
set_bit(global_flag,take_data_flag);
};
}
interrupt[USART_DRE]void udre(void)
{
tx_counter++;
if( tx_counter != tx_buffer_index )
{
clear_bit(UCSRB,TXB8);
UDR = tx_buffer[tx_counter];
}
else
{
tx_counter = 0;
tx_buffer_index = 0;
clear_bit(UCSRB,UDRIE);
};
}
void Uart_Send_Symbol(unsigned char symbol)
{
unsigned char sreg = 0;
sreg = SREG;
#asm("cli");
if( (tx_buffer_index == 0) && (check_bit(UCSRA,UDRE)) )
{
clear_bit(UCSRB,TXB8);
UDR = symbol;
}
else
{
tx_buffer[tx_buffer_index] = symbol;
};
tx_buffer_index++;
set_bit(UCSRB,UDRIE);
SREG = sreg;
};
void init(void)
{
UBRRH = ( (UBRR>>8) );
UBRRL = ( UBRR );
UCSRA = 0x00;
UCSRB = ( TXEN | RXEN | RXCIE );
UCSRC = ( UCSZ1 | UCSZ0 );
}
void Take_Data(void)
{
static unsigned char sreg = 0 , data = 0 ;
sreg = SREG;
#asm("cli");
data = rx_buffer[rx_counter];
rx_counter++;
if( rx_buffer_index == rx_counter )
{
clear_bit(global_flag,take_data_flag);
rx_counter = 0;
rx_buffer_index = 0;
};
SREG = sreg;
Uart_Send_Symbol(data);
}
void main(void)
{
init();
#asm("sei");
Uart_Send_Symbol('R');
do
{
if( check_bit(global_flag,take_data_flag) )
{
Take_Data();
}
}while(1);
}
Реклама | ||||
|
|
|||
EdGull писал(а):там же качество никакое...
avr123.nm.ru писал(а):Есть и не пожатая 137 Гб !
avr123.nm.ru писал(а):rutracker.org/forum/viewtopic.php?t=1914278
Видео: 544 x 576
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3