求助各位大佬

2019-07-21 01:45发布

向各位大佬求助求助:一个超声波液位传感器,传感器资料附件,想让它与STM32单片机进行数据传输,该怎么写代码呢?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
10条回答
xiedonghui258
2019-07-21 15:30
本帖最后由 xiedonghui258 于 2019-5-8 19:29 编辑

TIM图片20190508185923.png
这里貌似已经写的很清楚了吧。。
首先,你将这个线的Tx和你板子的Rx相连接。如串口1(USART1)
然后,配置好USART1,和上面的一致,数据位 8位,停止位1位,无奇偶校验,波特率为9600.
开启串口接受中断。
然后,在你的接受中断中,
uint8_t usartRXStatus = 0;
uint8_t resBuf[4] = {0};
uint16_t distance = 0;

void USART1_IRQHandler(void)
{
   uint8_t res = 0;
   if(USART_GetITStatus( RS485_USART, USART_IT_RXNE ) != RESET)
   {
       USART_ClearITPendingBit(RS485_USART,USART_IT_RXNE);
       res = USART_ReceiveData( RS485_USART );
       resBuf[usartRXStatus] = res;
       if(usartRXStatus == 0)
       {
           usartRXStatus = (0xFF != res)?0:usartRXStatus+1;
       }
       else if (usartRXStatus>0)
       {
           usartRXStatus++;
           if(usartRXStatus == 4)
           {
               usartRXStatus = 0;
               if(resBuf[3] == (resBuf[0]+resBuf[1]+resBuf[2])&0xff)
               {
                    distance = resBuf[1]*256+resBuf[2];
               }
           }
       }
   }
}

大概 应该是这样了吧、、






一周热门 更多>