adc_hw_trigger例程¶
1 功能概述¶
本代码示例主要演示ADC外设的外部触发ADC采样的功能,通过不断按下KEY2触发ADC采样,并通过串口助手打印ADC的采样值。
2 环境要求¶
Board: PAN2628b1_evb
Micro USB线两2根,一根用于程序下载,一根用于查看串口打印Log
将 J15(P3_3) 开关拔至ADC侧,将P3_3与电位器相连
将 J13(P3_6) 开关拔至RST侧,将P3_6与RST键相连
将 J19(P3_1) 开关拔至TX侧,将P3_1与uart的TX引脚相连
3 编译和烧录¶
例程位置:pan2628_dk\01_SDK\example_basic\adc\adc_hw_trigger
打开目录下keil下的adc_hw_trigger.uvprojx工程,编译整个代码工程。
4 演示说明¶
根据环境要求一节的介绍,正确连接 EVB 开发板的跳线,编译、下载:
在电脑上打开串口调试工具,串口参数:115200/8bit/1stop/无校验
不断按下RST键,通过下降沿触发ADC采样
观察串口打印的内容,看看是否有
Adc data:1545
类似格式信息输出理论上每按一下RST键,串口会打印一条采样数据。
串口输出信息如下:
adc hw trigger test.
Adc code:1541
Adc code:1540
Adc code:1541
Adc code:1540
Adc code:1541
Adc code:1540
Adc code:1540
Adc code:1540
Adc code:1540
Adc code:1540
5 开发说明¶
通过调用 adc.c 的ADC_Init()、ADC_ConfigTriggerMode()、ADC_ConfigCmpFunc()、ConfigHwTriggerPolarity()、ADC_EnableIRQ()
等函数接口来实现ADC的采样比较功能。
/** Config ADC params */
ADC_Init(ADC_CH3, 0x0020, ENABLE);
/** Hardware trigger adc convert */
ADC_ConfigTriggerMode(ADC_HW_TRIGGER);
/** Trigger polarity is falling */
ADC_ConfigHwTriggerPolarity(ADC_HW_TRIGGER_FALLING);
/** Disable ADC convert over interrupt&compare0/1 interrupt */
ADC_EnableIRQ(DISABLE, DISABLE, DISABLE);
6 RAM/Flash资源使用情况¶
Program Size: data=35.1 xdata=0 const=84 code=2616