?? rxdtxd.h
字號:
volatile unsigned char sum=0; //定義全局的指令變量
//設(shè)置串口的參數(shù)
void USART_Init( unsigned int baud )
{
/* 設(shè)置波特率9600*/
UBRRH = 0;
UBRRL = 47;
/* 接收器與發(fā)送器使能*/
UCSRB = (1<<TXCIE)|(1<<RXCIE)|(1<<RXEN)|(1<<TXEN);
/* 設(shè)置幀格式: 8 個數(shù)據(jù)位, 2 個停止位*/
UCSRC = (1<<URSEL)|(1<<USBS)|(3<<UCSZ0);
}
void USART_Transmit( unsigned char data )
{PORTD|=(1<<PD2); //485輸出使能
/* 等待發(fā)送緩沖器為空 */
while ( !( UCSRA & (1<<UDRE)) )
;
/* 將數(shù)據(jù)放入緩沖器,發(fā)送數(shù)據(jù) */
UDR = data;
}
unsigned char USART_Receive( void )
{
/* 等待接收數(shù)據(jù)*/
while ( !(UCSRA & (1<<RXC)) )
;
/* 從緩沖器中獲取并返回數(shù)據(jù)*/
return UDR;
}
SIGNAL (SIG_UART_RECV) //接收中斷
{sum=UDR;}
SIGNAL (SIG_UART_TRANS) //發(fā)送結(jié)束中斷
{PORTD&=~(1<<PD2); } //485輸入使能
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -