#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在串口助手上显示出来。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>