标题:
STM32串口发送数字01234 单片机如何接收呢?
[打印本页]
作者:
c03131401
时间:
2018-12-11 14:31
标题:
STM32串口发送数字01234 单片机如何接收呢?
char b[5];
int main(void)
{
u8 t;
u8 len;
// u16 times=0;
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
uart_init(9600); //串口初始化为9600
LED_Init(); //初始化与LED连接的硬件接口
while(1)
{
if(USART_RX_STA&0x8000) //如果接收完成了
{
len=USART_RX_STA&0x3fff; //得到此次接收到的数据长度
printf("\r\n您发送的消息为:\r\n"); //打印至串口提示
for(t=0;t<len;t++) //小于接收长度时
{
USART1->DR=USART_RX_BUF[t]; //依次存入接收缓冲区 将接收缓存送至该数据寄存器,同时发送到串口
// a=USART_RX_BUF[t];
b[t]=USART_RX_BUF[t];
while((USART1->SR&0X40)==0); //等待发送结束
}
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;
}
//结果灯无任何反应,为什么呢?
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1