杰理蓝牙AC692N按键调试
1、首先在sdk_cfg.hl里打开#define __DEBUG,用于串口打印
2、在key.h打开KEY_AD_VDDIO_EN,采用AD按键,比KEY IO可以节约很多IO口
/*按键类型定义*/
#define KEY_AD_RTCVDD_EN 0 ///<采用RTCVDD电源的AD按键使能
#define KEY_AD_VDDIO_EN 1 ///<采用VDDIO电源的AD按键使能
#define KEY_IO_EN 0 ///<IO按键使能
#define KEY_IR_EN 0 ///<红外遥控使能,PA9
#define KEY_TCH_EN 0 ///<触摸按键使能
#define KEY_UART_EN 0 ///<串口按键使能
#define KEY_ENCODER_EN 0 ///<旋转编码器使能
3、AD key IO口设置,IO口必须是具有ADC 功能的IO口(key_drv_ad.h)
#define AD_KEY_IO_PAX 0
#define AD_KEY_IO_PX JL_PORTA
#define AD_KEY_CH AD_CH_PA10
4、按键值与按键消息
在key_drv_ad_vddio.c里有
#define ADC10_33 (0x3ffL)
#define ADC10_30 (0x3ffL*2200/(2200 + R_UP)) //220K
#define ADC10_27 (0x3ffL*1000/(1000 + R_UP)) //100K
#define ADC10_23 (0x3ffL*510 /(510 + R_UP)) //51K
#define ADC10_20 (0x3ffL*330 /(330 + R_UP)) //33K
#define ADC10_17 (0x3ffL*240 /(240 + R_UP)) //24K
#define ADC10_13 (0x3ffL*150 /(150 + R_UP)) //15K
#define ADC10_10 (0x3ffL*91 /(91 + R_UP)) //9.1K
#define ADC10_07 (0x3ffL*62 /(62 + R_UP)) //6.2K
#define ADC10_04 (0x3ffL*30 /(30 + R_UP)) //3K
#define ADC10_00 (0)
......
const u16 ad_key_table[] = {
ADKEY1_0, ADKEY1_1, ADKEY1_2, ADKEY1_3, ADKEY1_4,
ADKEY1_5, ADKEY1_6, ADKEY1_7, ADKEY1_8
};
对应AD按键的9各按键值
等等
然后就是每个模式下的按键消息与key_num对应
#define ADKEY_BT_SHORT \
/*00*/ MSG_CHANGE_WORKMODE,\
/*01*/ MSG_BT_PREV_FILE,\
/*02*/ MSG_BT_NEXT_FILE,\
/*03*/ MSG_BT_PP,\
/*04*/ NO_MSG,\
/*05*/ NO_MSG,\
/*06*/ NO_MSG,\
/*07*/ NO_MSG,\
/*08*/ NO_MSG,\
/*09*/ MSG_BT_CALL_LAST_NO,
其它的就是消息处理了 。
最近刚玩杰理的蓝牙芯片,调试的时候将调试过程写下来了,希望对刚学的朋友有所帮助。