打印
[AT32 WorkBench]

AT32 WorkBench常用功能7--Systick中断配置

[复制链接]
1713|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 muyichuan2012 于 2024-5-11 17:37 编辑

AT32WorkBench常用功能7--Systick中断配置

本文主要介绍如何基于AT32 WorkBench配置Systick中断
硬件环境
l  AT-START-F423
l  逻辑分析仪

软件环境
l  AT32 Workbench
l  MDK5
l  DSView


配置步骤
1 打开AT32 WorkBench新建AT32F423工程

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

2.2 打开时钟配置

3 开启Systick中断,在WorkBench上勾选SysTick_IRQ如下图


4 配置PA1为push output,用于观察Systick中断

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


6 在Systick中断中添加GPIO toggle代码
在at32f423_int.c文件中完成void SysTick_Handler(void)函数如下
  
void SysTick_Handler(void)
  
{
  
   /* add user code begin SysTick_IRQ 0 */
  
  
  static uint32_t ticks = 0;
  
  
  ticks ++;
  
  
  /* toggle led in each 20 ms*/
  
  if(ticks >= 20)
  
  {
  
    gpio_bits_toggle(GPIOA,GPIO_PINS_1);
  
    ticks = 0;
  
  }
  
   /* add user code end SysTick_IRQ 0 */
  
   /* add user code begin SysTick_IRQ 1 */
  
  
   /* add user code end SysTick_IRQ 1 */
  
}
  
  

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

8 复位运行AT32F423 MCU,用逻辑分析仪观察PA1上翻转频率,波形如下图   
注意:因为是每20 ms PA1翻转一次,所以下降沿到下降沿的周期就应该为40 ms,如下图

使用特权

评论回复
沙发
LEDyyds| | 2024-5-14 11:01 | 只看该作者
如果延时函数怎么配置

使用特权

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

本版积分规则

194

主题

1888

帖子

28

粉丝