STM32串口通信数据处理

2019-07-20 14:25发布

各位大神:
   我用串口调试助手发送字符00010001,STM32接收到字符后发送回串口调试助手,回传都是正常的,也就是数据传输没有问题。这是接收函数TxRxBuffer=USART_ReceiveData(USART1);
根据我发送的数据那么TxRxBuffer的值应该就是00010001,我需要判断每一位是0还是1,该怎么写函数判断?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
幼儿园扛把子
1楼-- · 2019-07-21 15:17
 精彩回答 2  元偷偷看……
Beson
2楼-- · 2019-07-21 18:47
幼儿园扛把子 发表于 2017-5-20 17:31
你给UARTRXBuff赋值 '1' ?不应该是UARTRXBuff[0]什么的吗,然后你是不是发的是字符啊,八个字符的话肯定 ...

u8 i,temp;
        if(USART_GetITStatus(USART1,USART_IT_RXNE))
                 {
                         temp=USART_ReceiveData(USART1);
                         //USART_SendData(USART1,temp);
                         for(i=0;i<8;i++)
        {         
       if((temp&0x01)==1)        
       {UARTRXBuff='1';}         
      else                             
       {UARTRXBuff='0';}            
      temp=temp<<8;
        }
                   USART_SendData(USART1,UARTRXBuff[0]);               
                 }


是这样的 前面的复制错了
Beson
3楼-- · 2019-07-21 21:16
Beson 发表于 2017-5-20 17:34
u8 i,temp;
        if(USART_GetITStatus(USART1,USART_IT_RXNE))
                 {

奇怪我黏贴的时候是对的,发表之后竟然错了,UARTRXBuff【i】='1';赋值没问题。
幼儿园扛把子
4楼-- · 2019-07-21 22:56
 精彩回答 2  元偷偷看……
Beson
5楼-- · 2019-07-22 02:49
 精彩回答 2  元偷偷看……

一周热门 更多>