[AT32 WorkBench] AT32WorkBench常用功能10--GPIO周期翻转配置

[复制链接]
1293|1
 楼主| muyichuan2012 发表于 2024-8-15 10:32 | 显示全部楼层 |阅读模式
本帖最后由 muyichuan2012 于 2024-8-15 11:12 编辑

AT32WorkBench常用功能10--GPIO周期翻转配置



AT32 WorkBench最新版下载地址:https://www.arterytek.com/file/download/1710

GPIO周期翻转配置

本文主要介绍如何基于AT32 WorkBench配置GPIO周期翻转
硬件环境
l  AT-START-A403A
l  逻辑分析仪

软件环境
l  AT32 Workbench
l  MDK5
l  DSView


配置步骤
1 打开AT32 WorkBench新建AT32A403A工程
7077866bd683532a90.png
2 配置系统时钟(如果使用默认内部HICK倍频到200 MHz,客户跳过此步骤2
2.1 打开外设CRM配置HEXT为时钟振荡器,如下图
33066bd684427fbf.png

2.2 打开时钟配置
803266bd6850ba3f6.png
3 配置GPIO为推挽输出模式,这里选择PD13
9514566bd685eb8df1.png

4 开启system,选择时基源,用作延时用
672166bd686b3bb99.png
5 点击“生成代码”生成MDK5代码工程
6154766bd6877e282b.png


6 在main函数中添加delay_ms和GPIO翻转代码,如下黑体加粗部分
  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();
  
     /* init debug function. */
     wk_debug_config();
  
     /* nvic config. */
     wk_nvic_config();
  
     /* timebase config. */
     wk_timebase_init();
  
     /* init gpio function. */
     wk_gpio_config();
  
     /* add user code begin 2 */
  
     /* add user code end 2 */
  
     while(1)
    {
       /* add user code begin 3 */
         wk_delay_ms(100);
         gpio_bits_reset(GPIOD, GPIO_PINS_13);
         wk_delay_ms(100);
         gpio_bits_set(GPIOD, GPIO_PINS_13);           
       /* add user code end 3 */
    }
  }
  

7 在MDK5上编译,并下载代码到AT32A403A MCU 上
8 复位运行AT32A403A MCU,用逻辑分析仪观察PD13每隔100ms翻转一次
2114566bd68846dbb7.png

呐咯密密 发表于 2024-8-19 11:53 | 显示全部楼层
自动生成的有US延时函数吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

215

主题

2077

帖子

37

粉丝
快速回复 在线客服 返回列表 返回顶部