|
char b[5];
int main(void)
{
u8 t;
u8 len;
// u16 times=0;
delay_init(); //延時(shí)函數(shù)初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 設(shè)置中斷優(yōu)先級(jí)分組2
uart_init(9600); //串口初始化為9600
LED_Init(); //初始化與LED連接的硬件接口
while(1)
{
if(USART_RX_STA&0x8000) //如果接收完成了
{
len=USART_RX_STA&0x3fff; //得到此次接收到的數(shù)據(jù)長度
printf("\r\n您發(fā)送的消息為:\r\n"); //打印至串口提示
for(t=0;t<len;t++) //小于接收長度時(shí)
{
USART1->DR=USART_RX_BUF[t]; //依次存入接收緩沖區(qū) 將接收緩存送至該數(shù)據(jù)寄存器,同時(shí)發(fā)送到串口
// a=USART_RX_BUF[t];
b[t]=USART_RX_BUF[t];
while((USART1->SR&0X40)==0); //等待發(fā)送結(jié)束
}
printf("\r\n\r\n");//插入換行
if(b[0]==0x00&&b[1]==0x01&&b[2]==0x02&&b[3]==0x03&&b[4]==0x04) {LED1=!LED1;delay_ms(100); }//接收到123 燈取反
USART_RX_STA=0;
}
//結(jié)果燈無任何反應(yīng),為什么呢?
|
|