打印
[AT32 WorkBench]

AT32 WorkBench常用功能30--AT32F403A ADC普通组转换单通道配置

[复制链接]
152|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 muyichuan2012 于 2025-4-15 19:12 编辑

AT32 WorkBench常用功能30--AT32F403A ADC普通组转换单通道配置

ADC普通组转换单个通道(多通道不适用此种用法)
本文主要介绍如何基于AT32 WorkBench配置ADC的普通组,转换一个通道,并读取转换的数据

转换时序

硬件环境
  • AT-START-F403A

软件环境
  • AT32 Workbench
  • MDK5
  • 串口助手


配置步骤
1 打开AT32WorkBench新建AT32F403A工程

2 配置系统时钟(如果使用默认内部HICK,跳过此步骤2)
2.1 打开外设CRM配置HEXT为时钟振荡器,如下图


2.2 打开时钟配置


3 配置普通组转换ADC CH1(PA1引脚)


4 配置串口打印
4.1配置USART1


4.2 USART1引脚配置成PA9


4.3 开启串口打印


5 点击“生成代码”生成MDK5代码工程


6 配置ADC普通通道转换相关应用代码
main.c的mian函数写法如下, 可以直接替换这部分代码
int main(void)
{
  /* add user code begin 1 */

  /* add user code end 1 */

  /* system clock config. */
  wk_system_clock_config();

  /* config periph clock. */
  wk_periph_clock_config();

  /* nvic config. */
  wk_nvic_config();

  /* timebase config. */
  wk_timebase_init();

  /* usart1 already supports printf. */
  /* init usart1 function. */
  wk_usart1_init();

  /* init adc1 function. */
  wk_adc1_init();

  /* add user code begin 2 */

  /* add user code end 2 */

  while(1)
  {
    /* add user code begin 3 */
    adc_ordinary_software_trigger_enable(ADC1, TRUE);
   
    while(adc_flag_get(ADC1, ADC_CCE_FLAG) == RESET);
   
    printf("adc data:%d\r\n", adc_ordinary_conversion_data_get(ADC1));
   
    wk_delay_ms(1000);
    /* add user code end 3 */
  }
}

7 在MDK5上编译,并下载代码到AT32F403A MCU 上

8 复位运行AT32F403A MCU,用串口助手观看打印信息,ADC数据每1秒钟转换一次,修改 PA1引脚电压,即可看到AD值的变化







AT32 WorkBench常用功能30--AT32F403A ADC普通组转换单通道配置.zip

528.18 KB

使用特权

评论回复
沙发
魔法森林精灵| | 2025-4-16 15:52 | 只看该作者
这个帖子提供了详细的步骤来配置AT32F403A的ADC普通组转换单通道,对于初学者来说非常有帮助。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

55

主题

136

帖子

4

粉丝