使用STM32解析Rd-03E的串口数据

发布者:EtherealHeart最新更新时间:2024-03-29 来源: elecfans关键字:STM32  串口数据 手机看文章 扫描二维码
随时随地手机看文章

前言

安信可新款雷达模组Rd-03E已经上市,该雷达采用高性能一发一收微带天线,包含极简化24GHz雷达传感器硬件Rd-03E和智能算法固件RM01,而智能算法固件RM01采用FMCW波形和S3系列芯片专有的先进信号处理技术,可以实现精准的人体测距和运动/微动人体感应。


本应用示例使用STM32解析Rd-03E的串口数据,检测人体距离雷达的距离,根据距离不同来点亮不同的灯珠,0~2米内点亮 LED1,2~4米内点亮 LED2,4~6米内点亮 LED3。

01Rd-03E引脚说明

68331abc-6fec-11ee-939d-92fbcf53809c.png

J2引脚说明:

68468480-6fec-11ee-939d-92fbcf53809c.png

J3引脚说明:

684db9d0-6fec-11ee-939d-92fbcf53809c.png

02软件设计框架

685f8d40-6fec-11ee-939d-92fbcf53809c.png

03STM32F103C8T6使用CubeMX搭配HAL库配置

打开CubeMX,选择STM32F103C8T6。

选择两个串口,分别是串口1和串口2,PA9为USART1_TX,PA10为USART1_RX,PA2为USART2_TX,PA3为USART_RX。

选择异步通讯,勾选中断,注意:串口1的波特率为256000,串口2波特率为115200。

686eb234-6fec-11ee-939d-92fbcf53809c.png

688552a0-6fec-11ee-939d-92fbcf53809c.png

设置GPIO口

688ea990-6fec-11ee-939d-92fbcf53809c.png

689c6580-6fec-11ee-939d-92fbcf53809c.png

68b505fe-6fec-11ee-939d-92fbcf53809c.png

04STM32与Rd-03E和LED灯的接线

68be1f68-6fec-11ee-939d-92fbcf53809c.png

05串口数据

Rd-03E模组通过串口(TTL电平)与外界通信,雷达串口默认波特率为256000,1停止位,无奇偶校验位。雷达输出检测到的运动/微动/无人状态以及距离信息。

Rd-03E 数据通信使用小端格式,以下表格中所有数据均为十六进制,数据帧格式如下:

68d0f2fa-6fec-11ee-939d-92fbcf53809c.png

68d92402-6fec-11ee-939d-92fbcf53809c.png

数据示例:AA AA 023C 0055 55

红色部分表示目标状态,蓝色表示距离。

06STM32数据处理

68e5b23a-6fec-11ee-939d-92fbcf53809c.png


关键字:STM32  串口数据 引用地址:使用STM32解析Rd-03E的串口数据

上一篇:STM32 SPI读写W25Q64(三)
下一篇:基于STM32+Jlink的边界扫描实际应用演示

推荐阅读最新更新时间:2024-11-12 05:50

单片机入门stm32知识学习的先后顺序
  这里大概的罗列了一些学习STM32的内容,以及学习顺序。如果是新手的话,建议边看中文手册和学习视频;如果是已经入门的,个人建议自己做一个项目,不论项目大小,当然里面会涉及到自己已经学习过的,或者是自己正在学习的,亦或是自己想来想要学习的,一边学习,一边做项目。这样好处颇多,大家慢慢去体会。下面就是本人所罗列的一些STM32的内容,不需要看懂,只需要记住即可,在你以后慢慢深入的过程中,就会了解到的:   1、STM32基本配置(运行环境、编译器、下载器、板子等)。   2、GPIO(跑马灯,蜂鸣器、按键),其中还有端口复用和重映射,以后用到再给大家介绍,不过可以先看看中文手册。   3、时钟(系统时钟、RTC实时时钟)。   4
[单片机]
stm32 利用备份寄存器保存实时时钟数据
在实际应用中,会出现许多复位或者掉电的情况,下面提供了一种方法使即使是在掉电和复位事件发生时,仍旧可以利用低功耗模式继续对于实时时钟进行供电,保证时钟的正常运行! //bsp_rtc.h #ifndef _BSP_RTC_H #define _BSP_RTC_H #include misc.h /*全局变量*/ uint8_t RTCInterruptFlag=0; //RTC 中断标志 uint32_t RTC_TimeNum=0; // 设置时间变量 uint16_t Year; uint8_t Month; uint8_t Day; /* RTC hardware init*/ void RTC_N
[单片机]
<font color='red'>stm32</font> 利用备份寄存器保存实时时钟<font color='red'>数据</font>
基于STM32单片机的控制步进电机实验
一、实验原理(以28BYJ48步进电机为例)和51控制步进电机原理一致 1、五线四相步进电机,不同线圈得电会让步进电机的转子转动一个角度,按一定规律给不同的线圈通电,就可以让步进电机连续转动,下表就是步进电机和拆解后的图片,以及四根线通电的顺序。 注:总共五条线,一个是VCC,剩下四条分别接上ABCD相。 2、每走一个位置,都要给一定的延时,不然还没等转子到位,下一个脉冲就进来了,肯定会引起错误,导致电机堵转、异常震动。 3、通过改变延时的时间,就可以控制电机的转速,不能太慢,也不要太快,不断调试到合理范围就行,转向用了一个枚举类型,控制转向。 4、单片机IO口和电机四条线连接时,一定不能错误,要按照顺序相连接。 5、调换
[单片机]
基于<font color='red'>STM32</font>单片机的控制步进电机实验
CAN总线学习笔记|CAN盒测试STM32的CAN中断接收
CAN基础知识介绍文中介绍了CAN协议相关的基础知识,以及STM32F4芯片的CAN控制器相关知识,下面将通过实例,利用STM32CubeMX图形化配置工具,并配合CAN盒,来实现CAN通讯的中断收发测试 1. STM32CubeMX配置 CAN是挂载在APB1总线上,设置PCLK1时钟频率到最大45MHz 激活CAN1,配置位时序参数,其他基本参数以及工作模式(此处设置为Normal普通模式) CAN波特率的计算公式:只需要知道BS1和BS2的设置,以及APB1的时钟频率,就可以方便的计算出波特率。比如设置TS1=8、TS2=6和BRP=6,在APB1频率为45Mhz的条件下,即可得到CAN通信的波特率=45000/6
[单片机]
CAN总线学习笔记|CAN盒测试<font color='red'>STM32</font>的CAN中断接收
STM32学习笔记之定时器输入捕获实验
实验目的: 在串口调试助手上打印出按键按下的时间 实验步骤: 实验程序: /*******************************timer.c********************************/ #include sys.h #include stm32f4xx.h extern u8 TIM5CHA1_CAPTURE_STA; extern u16 TIM5CHA1_CAPTURE_VAL; /* 本示例的作用就是, 当按键按下时,每次输入捕获的时间差, 然后从串口调试助手中打印出其时间差; */ /*
[单片机]
STM32单片机LCD240128搬货物Proteus仿真程序
单片机源程序如下: #include reg52.h #include SS.h //关卡的界面 #include SB.h //在此文件中定义了汉字编码,用点阵液晶字模提取软件 #define uchar unsigned char #define uint unsigned int sbit cd = P2^0; //=0,数据通道;=1,命令通道 sbit rd = P2^1; //=0,读选通有效 sbit wr = P2^2; //=0,写选通有效 sbit ce = P2^3; sbit md = P2^4; sbit rst= P2^5; uchar renh=6
[单片机]
<font color='red'>STM32</font>单片机LCD240128搬货物Proteus仿真程序
STM32低功耗模式测试
stm32单片机低功耗模式共有3种,下来对3种低功耗进行分析测试。 先看手册上相关低功耗资料介绍: 先来分析睡眠模式: 进入睡眠模式比较简单,只需一条指令即可。唤醒睡眠模式,我们使用串口中断来唤醒,通过对串口发送数据。利用串口RXD引脚来唤醒睡眠模式,代码如下: //进入睡眠模式 任意中断唤醒 WKUP不能唤醒 void sleep_mode_wfi(void) { __WFI(); //WFI指令进入睡眠 } //进入睡眠模式 唤醒事件唤醒 WKUP 不能唤醒 void sleep_mode_wfe(void) { __WFE(); } 通过调用这两个函数就可以直接进入睡眠模式,给串口发送数据可
[单片机]
<font color='red'>STM32</font>低功耗模式测试
stm32快速学习7——LED闪烁(TIM2查询)
#include stm32f10x_gpio.h #include stm32f10x_rcc.h #include stm32f10x_flash.h #include stm32f10x_tim.h #include misc.h void RCC_Configuration(void); void GPIO_Configuration(void); void TIM_Configuration(void); int main(void) { RCC_Configuration(); GPIO_Configuration(); TIM_Configuration(); while(1)
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved