STM32
直播中

万航渡路

8年用户 1286经验值
擅长:电源/新能源
私信 关注
[问答]

STM32串口接收和发送数据的方法是什么

STM32串口接收和发送数据的方法是什么

回帖(1)

王杰

2021-12-6 14:30:36

总结:1 :STM32 接收和发送的数据都是字符串 .


           2: 串口的每一次接收数据都会产生一次中断


           3: 接收数据是否完成的标志是判断 末位的'0x0d'和'0x0a'


发送的模板:


                USART_SendData(USART1, '2');  
        while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束
                  printf("r你发送的消息为:rn");
接收的模板:


                if(USART_RX_STA&0x8000)   // 判断标志位,已经有数据接收到,可以读取出来。
                {                                           
                        printf("USART_RX_STA02=%drn",USART_RX_STA);
                        len=USART_RX_STA&0x3fff;//接收的数据长度
                        printf("len=%drn",len);
                       
                        printf("rn你发送的消息:rn");
                        if(USART_RX_BUF[0]=='e')  LED1=!LED1;  //判断接收的消息
                       
                        for(t=0;t                         {
                                //USART_SendData(USART1, USART_RX_BUF[t]);         //向串口1 发送数据
                                USART_SendData(USART1, 5465);   
                                while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//表示发送完成
                        }
                        printf("rnrn");//换行
                        USART_RX_STA=0;
                }
举报

更多回帖

发帖
×
20
完善资料,
赚取积分