1、硬件原理图
/V111a7Bl0251Ar/6vSwNpYebSLQCWP2ZArCb9KMjyqTzeM4N6yT9t7Fxmk!/o/dA4AAAAAAAAA&ek=1&kp=1&pt=0&bo=swBJALMASQADACU!&su=196951169&sce=0-12-12&rf=2-9" style="margin:0px; padding:0px; border-width:0px; border-style:none; vertical-align:top; width:179px; height:73px">
选中RSP1目录。右键点击“Exclude from Build”就可以。
b、使能外设
EXTERNAL_MODULE_RSP1_MODE 1
c、驱动程序的配置。
依据上述相应关系更改RSP1_config.hpp配置文件,其更改后的源程序例如以下:
#define RSP1_UART 0x01
#define
RSP1_BUSY_PORT PORT6
#define RSP1_BUSY_PIN PIN5
d、类的派生
class CRadar:public CRSP1
并在HAL_include.hpp文件里加入例如以下包括语句:
#include "./Radar/Radar.hpp"
e、对象的声明
class CHAL
f、其他操作
INTERNAL_PERIPHERAL_UART1_MODE 10
异步串行口启动后。在main.cpp的异步串行口中断函数中增加显示语句就可以,源程序例如以下:
vector=USART1RX_VECTOR
g、调用方法
程序启动后。在进入主循环之前,应进行例如以下程序操作:
if (Target.HAL.Radar.Reset() == False)//对RSP1进行复位操作,复位不成功。则闪灯提示
(Target.HAL.Radar.b_UartFinish == False)
上述程序调用完成后。便可进入主循环,运行希望的操作。
3、CRSP1类成员变量和成员函数的说明
成员变量
uint8 u8_Direction[2]; 传感器的辨别方向
“00” 靠近时响应
“01” 远离时响应
“02” 靠近远离均响应
uint8 u8_HoldTime[2]; 保持时间
“00” 0.2秒
“01” 0.5秒
“02” 1秒
“03” 2秒
“04” 5秒
“05” 10秒
“06” 20秒
“07” 40秒
“08” 80秒
“09” 160秒
uint8 u8_Sensitivity[2]; 灵敏度,此数值指当前数值与阀值之间的距离,能够想象数值越大,表示与阀值之间的距离越长,灵敏度越差。
所以“09”具有最高的灵敏度。
“00” 240
“01” 200
“02” 160
“03” 140
“04” 120
“05” 100
“06” 60
“07” 40
“08” 20
“09” 0
uint8 u8_Immunity[2]; 抗干扰性
“00”:1次均值
“01”:2次均值
“02”:3次均值
“03”:4次均值
“04”:5次均值
“05”:6次均值
“06”:7次均值
“07”:8次均值
“08”:9次均值
“09”:10次均值
uint8 u8_SensorType[2]; 传感器类型
“00”:双通道传感器
“01”:单通道传感器
uint8 u8_SamplingRate[2]; 採样率,採样率与检測速度相应表见注3
“01”:1280Hz
“02”:2560Hz
“03”:3840Hz
“04”:5120Hz
“05”:6400Hz
“06”:7680Hz
“07”:8960Hz
“08”:10240Hz
“09”:11246Hz
uint8 u8_StartUpLearn[2]; 启动噪声平均时间,“01”-“40”:数值越高启动时间越长
uint8 u8_SensitivityPotentiometer[2]; 电位设置灵敏度
“00”:不使用电位器设置灵敏度
“01”:使用电位器设置灵敏度
uint8 u8_ADCgain[2];
ADC增益
“00”:1倍增益
“01”:2倍增益
“03”:8倍增益
Bool ReadDirection(void); 读取感应方向。数据存于u8_Direction成员变量中。
Bool WriteDirection(void); 写入感应方向,数据存于u8_Direction成员变量中。
Bool ReadHoldTime(void); 读取保持时间。数据存于u8_HoldTime成员变量中。
Bool WriteHoldTime(void); 写入保持时间。数据存于u8_HoldTime成员变量中。
读取灵敏度,数据存于u8_Sensitivity成员变量中。
Bool WriteSensitivity(void); 读取灵敏度。数据存于u8_Sensitivity成员变量中。
Bool ReadImmunity(void); 读取抗干扰性,数据存于u8_Immunity成员变量中。
Bool WriteImmunity(void); 写入抗干扰性,数据存于u8_Immunity成员变量中。
Bool ReadSensorType(void); 读取传感器类型,数据存于u8_SensorType成员变量中。
Bool ReadSamplingRate(void); 读取採样率,数据存于u8_SamplingRate成员变量中。
Bool WriteSamplingRate(void);写入採样率。数据存于u8_SamplingRate成员变量中。
Bool ReadStartUpLearn(void); 读取启动噪声平均时间,数据存于u8_StartUpLearn成员变量中。
Bool WriteStartUpLearn(void);写入启动噪声平均时间,数据存于u8_StartUpLearn成员变量中。
Bool ReadSensitivityPotentiometer(void);读取电位设置灵敏度,数据存于u8_SensitivityPotentiometer成员变量中。
Bool WriteSensitivityPotentiometer(void);写入电位设置灵敏度。数据存于u8_SensitivityPotentiometer成员变量中。
Bool ReadADCgain(void); 读取ADC增益。数据存于u8_ADCgain成员变量中。
Bool WriteADCgain(void);
写入ADC增益,数据存于u8_ADCgain成员变量中。
注1:本文中演示样例代码用绿色标注。
注2:本文中与使用密切相关的成员变量与成员函数用红色标注
注3: 採样率与检測速度相应表