打印
[STM32F1]

串口发送的2个数据对不上什么原因

[复制链接]
969|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
//函数返回赋值命令
void   command_rec (void)

   {
               TxBuffer[0]=0x42;
                                                         TxBuffer[1]=0x12;
                                                         TxBuffer[2]=0x03;
                                                         TxBuffer[3]=0x30;
                                                         TxBuffer[4]=0x41;
                                                         TxBuffer[5]=0x5F;//串口数对不上
                                                         TxBuffer[6]=0x6F;//串口数对不上
                                                         TxBuffer[7]=0x7F;
                                                         TxBuffer[8]=0x8F;
                                                         TxBuffer[9]=0x9F;
                                                         TxBuffer[10]=0xAF;
                                                         TxBuffer[11]=0xBF;
                                                         TxBuffer[12]=0xCF;
                                                         TxBuffer[13]=0xDF;
                                                         TxBuffer[14]=RxBuffer1[14];
                                                         TxBuffer[15]=RxBuffer1[15];
                                                         TxBuffer[16]=RxBuffer1[16];
                                                         TxBuffer[17]=RxBuffer1[17];
                                                         TxBuffer[18]=RxBuffer1[18];
                                                         TxBuffer[19]=RxBuffer1[19];
                                                         TxBuffer[20]=RxBuffer1[20];
                                                         TxBuffer[21]=RxBuffer1[21];
                                                         TxBuffer[22]=0x03;
                                                         TxBuffer[23]=0xe8;
                                                         TxBuffer[24]=Cumulative();  

                                                        
  }
//函数的发送
void UART3_Send_TxBuffer(uint8_t TxBuffer1[],uint8_t len )
{
     uint8_t  i=0;
          
     while(i<len)
                       
                 {
                         
                         
       USART_SendData(USART3,TxBuffer[i]);
       while( USART_GetFlagStatus(USART1,USART_FLAG_TC)!= SET);  
                         i++;  //数值相加
                         

            }

}
//主函数调用    内容简化写的
int main(void)
{
while(1)
UART3_Send_TxBuffer(TxBuffer,RXBUFFERSIZE );       

}







20140921212150.jpg (66.2 KB )

20140921212150.jpg
沙发
mmuuss586| | 2014-9-21 22:45 | 只看该作者
本帖最后由 mmuuss586 于 2014-9-21 22:53 编辑

换个串口调试软件,16进制接收试下;
程序看了下,没啥问题;

使用特权

评论回复
板凳
电子过客|  楼主 | 2014-9-21 23:28 | 只看该作者
mmuuss586 发表于 2014-9-21 22:45
换个串口调试软件,16进制接收试下;
程序看了下,没啥问题;

换了个软件测试一样,转换成16进制满屏乱码

使用特权

评论回复
地板
mmuuss586| | 2014-9-22 08:29 | 只看该作者
电子过客 发表于 2014-9-21 23:28
换了个软件测试一样,转换成16进制满屏乱码

可能波特率不对吧;
用示波器测试下波特率实际是多少;

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

205

帖子

2

粉丝