求大神解答,这段代码里面的奇偶校验是哪段语句,怎么实现的。在线等挺急的
#include <iom16v.h>
unsigned char uart_Receive(void)
{
while(!(UCSRA&(1<<RXC)));
return UDR;
}
uart_Transmit(
unsigned char uchSenData
)
{
/* 等待发送缓冲器为空 */
while ( !( UCSRA & (1<<UDRE)) )
;
/* 将数据放入缓冲器,发送数据 */
UDR = uchSenData;
}
void
uart_init(int bound)
{
UBRRH = (unsigned char)(bound >> 8);
UBRRL = (unsigned char)(bound); //set bound
UCSRB = (1 << RXEN) | (1 << TXEN); //(1 << RXEN) | (1 << TXEN); //rx, tx enable
//设置帧格式,8个数据位,2个停止位
UCSRC = (1<<URSEL) | (1<<USBS) | (3<<UCSZ0); //(1<<URSEL) | (1<<USBS) | (3<<UCSZ0);
}
main()
{
unsigned uchData = 0;
int i = 0;
uart_init(25);
DDRA = 0x00; /*方向输入*/
PORTA = 0xFF; /*打开上拉*/
DDRB = 0xFF; /*方向输出*/
PORTB = 0xFF; /*高电平*/
DDRC = 0x00;
PORTC = 0xFF;
DDRD = 0x00;
PORTD = 0xFF;
for(i=0; i<8; i++)
{
uart_Transmit(0x55);
}
while(1)
{
uchData = uart_Receive();
PORTB ^= 0xff;
uart_Transmit(~uchData);
}
}