各位大神,想请教一个问题,我用STM32F103芯片获取传感器ASCII码数据,在正常模式下,其应该发送的是数据应该是:“0"".""0""0""0""1"" ""35""34""
""
",从示波器上看发送过来的数据没问题,但是我这边将读取的数据通过printf函数发送给串口调试助手,但是从助手上看只只有部分数据读取:"35""34""
""
”,不知道哪里出问题了,因为本人是新手,所以请教各位了,谢谢,下面是相关函数。
- void USART3_IRQHandler(void)
- {
- uint8_t ch;
-
- // 接收数据
- if(USART_GetiTStatus(USART3, USART_IT_RXNE) != RESET)
- {
- USART_ClearITPendingBit(USART3, USART_IT_RXNE);// 清除中断标志
-
- ch = USART_ReceiveData(USART3);
- Com3RBuf[Com3Index]=(uint8_t)ch;
- printf("ch=%d
",(uint8_t)Com3RBuf[Com3Index]);
- Com3Index++;
- if(Com3RBuf[2]==0x0A))
- {
- Rec3FinishF=1;
- Com3Index=0;
- }
- }
- // 发送数据
-
- else if(USART_GetITStatus(USART3, USART_IT_TXE) != RESET)
- {
- USART_ClearITPendingBit(USART3, USART_IT_TXE);
-
- if(Com3Index<Index3End)
- {
- USART_SendData(USART3, (uint8_t)Com3TBuf[Com3Index++]);
- while(USART_GetFlagStatus(USART3,USART_FLAG_TXE) == RESET);
- }
- else
- {
- Com3Index=0;
- USART_ITConfig(USART3, USART_IT_TXE, DISABLE);
- }
- }
- }
复制代码
补充内容 (2018-6-13 18:00):
写错了,发送的数据是“0”“.”0""0""0""1"" ""5""4""
""
",接收到的是"5""4""
""
"
16进制效果也是不全的,只是显示35 34 0D 0A
一周热门 更多>