产品型号是DYP-A02-V2.0,使用的是串口受控输出。
数据格式如下
使用的是串口2,在对串口初始化完成后,发送任意一个信号就可以了。
void A02_Start(void)
{
delay_ms(100); //确保触发周期大于70ms
USART_SendData(USART2,12);
flag = 0;
}
int main(void)
{
u8 sum;
u32 dis = 0;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
delay_init(168); //延时初始化
uart_init(115200); //串口初始化波特率为115200
usart2_init(9600); //A02串口2初始化为9600
LED_Init(); //初始化与LED连接的硬件接口
while(1)
{
A02_Start();
sum = (USART2_RX_BUF[0] + USART2_RX_BUF[1] + USART2_RX_BUF[2]) & 0x00ff; //A02校验和,前三项加和的低8位
if((USART2_RX_BUF[0] == 0xFF)&&(USART2_RX_BUF[3] == sum)) //帧头0XFF,帧尾校验和
{
dis = (USART2_RX_BUF[1] << 8) + USART2_RX_BUF[2]; //数据高八位和低八位
printf("%X %X %X %X\r\n",USART2_RX_BUF[0],USART2_RX_BUF[1],USART2_RX_BUF[2],USART2_RX_BUF[3]);
}
printf("dis:%d mm\r\n",dis);
LED0 = !LED0;
delay_ms(500);
}
}