前言
安信可新款雷达模组Rd-03E已经上市,该雷达采用高性能一发一收微带天线,包含极简化24GHz雷达传感器硬件Rd-03E和智能算法固件RM01,而智能算法固件RM01采用FMCW波形和S3系列芯片专有的先进信号处理技术,可以实现精准的人体测距和运动/微动人体感应。
本应用示例使用STM32解析Rd-03E的串口数据,检测人体距离雷达的距离,根据距离不同来点亮不同的灯珠,0~2米内点亮 LED1,2~4米内点亮 LED2,4~6米内点亮 LED3。
01Rd-03E引脚说明
J2引脚说明:
J3引脚说明:
02软件设计框架
03STM32F103C8T6使用CubeMX搭配HAL库配置
打开CubeMX,选择STM32F103C8T6。
选择两个串口,分别是串口1和串口2,PA9为USART1_TX,PA10为USART1_RX,PA2为USART2_TX,PA3为USART_RX。
选择异步通讯,勾选中断,注意:串口1的波特率为256000,串口2波特率为115200。
设置GPIO口
04STM32与Rd-03E和LED灯的接线
05串口数据
Rd-03E模组通过串口(TTL电平)与外界通信,雷达串口默认波特率为256000,1停止位,无奇偶校验位。雷达输出检测到的运动/微动/无人状态以及距离信息。
Rd-03E 数据通信使用小端格式,以下表格中所有数据均为十六进制,数据帧格式如下:
数据示例:AA AA 023C 0055 55
红色部分表示目标状态,蓝色表示距离。
06STM32数据处理
关键字:STM32 串口数据
引用地址:
使用STM32解析Rd-03E的串口数据
推荐阅读最新更新时间: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
[单片机]
基于STM32单片机的控制步进电机实验
一、实验原理(以28BYJ48步进电机为例)和51控制步进电机原理一致 1、五线四相步进电机,不同线圈得电会让步进电机的转子转动一个角度,按一定规律给不同的线圈通电,就可以让步进电机连续转动,下表就是步进电机和拆解后的图片,以及四根线通电的顺序。 注:总共五条线,一个是VCC,剩下四条分别接上ABCD相。 2、每走一个位置,都要给一定的延时,不然还没等转子到位,下一个脉冲就进来了,肯定会引起错误,导致电机堵转、异常震动。 3、通过改变延时的时间,就可以控制电机的转速,不能太慢,也不要太快,不断调试到合理范围就行,转向用了一个枚举类型,控制转向。 4、单片机IO口和电机四条线连接时,一定不能错误,要按照顺序相连接。 5、调换
[单片机]
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
[单片机]
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
[单片机]
STM32低功耗模式测试
stm32单片机低功耗模式共有3种,下来对3种低功耗进行分析测试。 先看手册上相关低功耗资料介绍: 先来分析睡眠模式: 进入睡眠模式比较简单,只需一条指令即可。唤醒睡眠模式,我们使用串口中断来唤醒,通过对串口发送数据。利用串口RXD引脚来唤醒睡眠模式,代码如下: //进入睡眠模式 任意中断唤醒 WKUP不能唤醒 void sleep_mode_wfi(void) { __WFI(); //WFI指令进入睡眠 } //进入睡眠模式 唤醒事件唤醒 WKUP 不能唤醒 void sleep_mode_wfe(void) { __WFE(); } 通过调用这两个函数就可以直接进入睡眠模式,给串口发送数据可
[单片机]
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)
[单片机]