传感器数据采集,最后再调试助手上显示

2019-07-20 16:04发布

#include "usart3.h"
#include "delay.h"
#include "uart.h"
#include "led.h"

int main(void)
{
        u8 t;
        u8 i;
        u8 len;
        u16 times=0;
        uint8_t  ch[5]={0x68,0x04,0x00,0x04,0x08};
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
        delay_init(168);
        UART3_Init(9600);
        UART1_Init(9600);
        LED_Init();

        while(1)
        {
          if(USART3_RX_STA&0x8000)
                {
                  
                        len=USART3_RX_STA&0x3fff;
                        for(t=0;t<len;t++)
                        {
                          USART_SendData(USART1,USART3_RX_BUF[t]);
                                while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);
                        }
                    USART3_RX_STA=0;
                }else
                {
                 for(i=0;i<6;i++)
                        {
                          while(USART_GetFlagStatus(USART3,USART_FLAG_TC));
                          USART_SendData(USART3,ch[i]);
                        }
                        times++;
                        if(times%30==0)LED0=!LED0;
                        delay_ms(20);
                }
        }

}
我的思路:先给USART3发送命令(68 04 00 04 08)传感器接受命令并返回一串数字,将采集到的数字存放在USART3_RX_BUF[t],然后在将USART3_RX_BUF[t]发送给USART1在串口助手上显示出来。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。