eecs-bsp-test-code-2/inc/adc.h

79 lines
5.3 KiB
C
Raw Permalink Normal View History

2022-08-22 14:51:00 +08:00
/**********************************ADC V3.5a 说明 ************************************************************************
ADC模块用于STC-B学习板ADC相关电路:RtRopNavEXT上的ADC转换ADC模块初始化函数2,2
(1) AdcInit(char ADCsel)ADC模块初始化函数
: ADCsel选择扩展接口EXT是否用作ADC功能
ADCincEXT : EXT设置ADC功能EXT上P1.0P1.1IO功能使用
ADCexpEXT : EXT设置ADC功能EXT上P1.0P1.1IO功能使用
(2) struct_ADC GetADC()ADC值
struct_ADC
typedef struct //ADC转换结果
{ unsigned int EXT_P10; // 扩展接口EXT上P1.0脚ADC10bit
unsigned int EXT_P11; // 扩展接口EXT上P1.1脚ADC10bit
unsigned int Rt; // 热敏电阻上ADC10bit
unsigned int Rop; // 光敏电阻上ADC10bit
unsigned int Nav; // 导航按键上ADC10bit
} struct_ADC;
1 VCC/1024VVCC为电路板供电电压USB接口一般为5V左右
2GetAdcNavAct函数输出消抖后导航按键事件和状态便使
(3) char GetAdcNavAct(char Nav_button)K3
Nav_button
enumAdcNavKey3K3键,
enumAdcNavKeyRight,
enumAdcNavKeyDown,
enumAdcNavKeyCenter
enumAdcNavKeyLeft,
enumAdcNavKeyUp.
enumKeyFail
Key模块GetAdcKeyAct
enumKeyNull,
enumKeyPress,
enumKeyRelease,
enumKeyFail
, enumKeyNull ()
(4) enumEventNav
5K3有任意enumEventNav,sys提供的SetEventCallBack().
(5) EXT上P1.0P1.1AD值事件enumEventXADC
ADC模块对P1.0P1.1ADC转换ADC结果时enumEventXADC事件enumEventXADC事件的用户回调函数由用户编写,sys提供的SetEventCallBack().
ADC模块对P1.0P1.1ADC转换速度为3mS3mS或每秒钟333次转换.
(6)
aEXT上P1.0P1.03mS333enumEventXADC便
bRtRop9mS111GetAdcResult()使
c12enumEventNav
dK3键共用了单片机同一个端口P1.7ADC模块后P1.7IO功能失效GetAdcNavAct(char Nav_button)K3按键的事件或状态
e: STC-B板上Rt型号为10K/3950 NTC热敏电阻Rop型号为GL5516. ADC值与温度STC-B电路图进行换算
18008400450 2021325,2021830
*/
#ifndef _adc_H_
#define _adc_H_
#define ADCincEXT 0x9B
#define ADCexpEXT 0x98
typedef struct //ADC转换结果
{ unsigned int EXT_P10; // 扩展接口EXT上P1.0脚ADC
unsigned int EXT_P11; // 扩展接口EXT上P1.1脚ADC
unsigned int Rt; // 热敏电阻上ADC
unsigned int Rop; // 光敏电阻上ADC
unsigned int Nav; // 导航按键上ADC
} struct_ADC;
extern void AdcInit(char ADCsel);
extern struct_ADC GetADC();
extern unsigned char GetAdcNavAct(char Nav_button); //获取导航按键5个方向右、下、中心、左、上操作以及按键K3操作的事件
//返回值enuKeyNull无按键动作,enuKeyPress按下,enuKeyRelease抬起,enuKeyFail失败
enum KN_name {enumAdcNavKey3=0, //导航按键按键K3
enumAdcNavKeyRight, //导航按键:右
enumAdcNavKeyDown, //导航按键:下
enumAdcNavKeyCenter, //导航按键:中心
enumAdcNavKeyLeft, //导航按键:左
enumAdcNavKeyUp}; //导航按键:上
#endif