MSP430WARE++的使用2:RSP1 driver的调用方法
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: 採样率与检測速度相应表
MSP430WARE++的使用2:RSP1 driver的调用方法的更多相关文章
- MSP430WARE++的使用3:modbus模块的调用方法
MSP430WARE++的使用3:modbus模块的调用方法 MSP430WARE是一套基于C++语言的开源的MSP430层次化软件架构,支持多种外设. 本文将介绍modbus模块驱动程序的调 ...
- [No000085]C#反射Demo,通过类名(String)创建类实例,通过方法名(String)调用方法
using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using Sy ...
- ThinkPHP跨控制器调用方法
跨控制器调用方法 1. 先造对象,再调用里面的方法 $sc=new \Home\Controller\IndexController(); 用绝对路径找echo $sc->ShuChu(); ...
- C# 反射之调用方法谈
反射的定义 反射提供了描述程序集.模块和类型的对象(Type 类型). 可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性. 如果代码中使用了特性 ...
- 利用反射调用方法时,处理ref,out参数需要注意的问题(转)
转自:http://www.68idc.cn/help/buildlang/ask/20150318283817.html 项目中如下的泛型方法,因为要在运行时,动态指定类型参数,所以要利用反射来实现 ...
- Struts2 Action下面的Method调用方法
1. 在struts.xml中加入<constant name="struts.enable.DynamicMethodInvocation" value="tru ...
- 完整的分页存储过程以及c#调用方法
高效分页存储过程 USE [db] GO /****** 对象: StoredProcedure [dbo].[p_Page2005] 脚本日期: // :: ******/ SET ANSI_NUL ...
- MySql 存储过程及调用方法
存储过程实例: DELIMITER $$drop procedure if exists ff $$CREATE /*[DEFINER = { user | CURRENT_USER }]*/ PRO ...
- jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法
jquery ajax success 函数 异步调用方法中不能给全局变量赋值的原因及解决办法 在调用一个jquery的ajax方法时我们有时会需要该方法返回一个值或者给某个全局变量赋值,可是我们 ...
随机推荐
- 【百度之星】-IP聚合
问题描述: Problem Description 当今世界,网络已经无处不在了,小度熊由于犯了错误,当上了度度公司的网络管理员,他手上有大量的 IP列表,小度熊想知道在某个固定的子网掩码下,有多少个 ...
- Appium Python API 汇总
最近在学习Python自动化,网络搜集而来,留着备用, 方便自己也方便他人.感谢总结的人! 1.contexts contexts(self): Returns the contexts within ...
- ELK基本统计图表
ELK基本统计图表,现在基本在用自带的功能,复杂的功能还需要去摸索了
- transform: scale(x,y)
作用: 1)缩放 2)反转 水平翻转:transform: scale(-1,1); 垂直翻转:transform: scale(1,-1); 水平垂直翻转: transform: scale(-1, ...
- vue03 axios
4. 通过axios实现数据请求 vue.js默认没有提供ajax功能的. 所以使用vue的时候,一般都会使用axios的插件来实现ajax与后端服务器的数据交互. 注意,axios本质上就是java ...
- BZOJ 2850: 巧克力王国 KDtree + 估价函数
Code: #include<bits/stdc++.h> #define maxn 100000 #define inf 1000000008 #define mid ((l+r)> ...
- CF997A Convert to Ones
CF997A Convert to Ones 题目大意: 给你一个长度为 nn 的01串( n $\leq 3*10^5$ ),你有两种操作: 1.将一个子串翻转,花费 XX 2.将一个子串中的0变成 ...
- python学习笔记--深拷贝与浅拷贝的区别
首先我们来讲讲我们python中的可变对象和不可变对象: 可变对象:该对象指向内存中的值是可以改变的.实际上是其所指的值直接发生改变,而不是发生复制,或者开辟一个新的地址空间.例如:列表list,字典 ...
- 从零开始的 webpack4 + vue2.x
新建文件夹 webpack-vue 安装依赖 yarn init //初始化package.json yarn add webpack webpack-cli //添加webpack.webpack- ...
- python爬虫11 | 这次,将带你爬取b站上的NBA形象大使蔡徐坤和他的球友们
在上一篇中 python爬虫10 | 网站维护人员:真的求求你们了,不要再来爬取了!! 小帅b给大家透露了我们这篇要说的牛逼利器 selenium + phantomjs 如果你看了 python爬虫 ...