搜索

[活动专区] 【AutoChips 7801x MCU评测报告】用AutoGen Studio重写官方RTC例程2个

[复制链接]
217|7
 楼主 | 2020-6-22 10:14 | 显示全部楼层 |阅读模式
本贴把2个关于RTC的官方例程,修改为AutoGen Studio版本。

一、准备

下载 官网www.AutoChips.com --> 产品 --> MCU --> AC7801x --> 例程下载 --> AC7801x模块应用例程

官方例程还是挺多的:

0002.PNG

目前例程已经更新至20200616了,而我用的是20200426的,看了一下,RTC例程新旧版本一致。
RTC路径下有2个例程,分别是:

1、RTC定时闪烁LED
2、RTC定时唤醒处于STOP模式的MCU

下面就用AutoGen Studio重新实现上述2个例程


二、用AutoGen重新实现官方例程RTC_timeout

1、打开AutoGen,新建工程,按下图箭头所指设置一下:
0003.PNG

0004.PNG


2、保存AutoGen工程,点击生成代码,最后用MDK打开生成的C代码工程。在生成的ac780x_irq_cb.c文件中,添加以下代码(红色的):

/* USER CODE BEGIN Includes */
#include "ac780x_gpio.h"
/* USER CODE END Includes */


//...


void RTC_IRQHandler_Callback(void *device, uint32_t wpara, uint32_t lpara)
{
    if (wpara & RTC_SC_RPIF_Msk)
    {
        /* USER CODE BEGIN PRESCALER INTERRUPT */


        /* USER CODE END PRESCALER INTERRUPT */
    }


    if (wpara & RTC_SC_RTIF_Msk)
    {
        /* USER CODE BEGIN OVERFLOW INTERRUPT */
                                static int8_t timer=0;
                                if(timer==0)
                                {
                                        GPIO_SetPinLevel(GPIOC,GPIO_PIN9,GPIO_LEVEL_HIGH);
                                        timer = 1;
                                }
                                else if(timer==1)
                                {
                                        GPIO_SetPinLevel(GPIOC,GPIO_PIN9,GPIO_LEVEL_LOW);
                                        timer = 0;
                                }
        /* USER CODE END OVERFLOW INTERRUPT */
    }


    /* USER CODE BEGIN RTC_IRQHandler_Callback */


    /* USER CODE END RTC_IRQHandler_Callback */
}

3、编译,下载到MCU,运行。可以看到绿色的LED2定时闪烁了。AutoGen工程及生成的MDK工程,在附件压缩包中。


三、用AutoGen重新实现官方例程RTC_wakeup

用AutoGen操作的步骤,基本和上一个例子相同,就不重复截图了。具体可打开附件中的AutoGen工程查看。

把官方例程中的代码,改了一下,效果更清晰、更容易理解,部分代码和注释截图如下:

2001.PNG

全部工程(AutoGen、MDK)在附件中。


四、体会

用AutoGen Studio自动生成工程结构和初始化代码,可以大幅提高开发效率,促进代码规范,还有助于理解芯片资源属性,建立全局观。赶紧上手吧

游客,如果您要查看本帖隐藏内容请回复



使用特权

评论回复
| 2020-6-22 10:42 | 显示全部楼层
用LED闪烁的效果来判断是否进入Stop模式,确实效果不错

使用特权

评论回复
| 2020-6-22 11:49 | 显示全部楼层
看看

使用特权

评论回复
| 2020-6-23 09:49 | 显示全部楼层
这思路,教科书级别的讲解,LZ做老师的吗

使用特权

评论回复

评论

lihuasoft 2020-6-23 11:34 回复TA
不不,是搬砖的... 
| 2020-6-23 10:29 | 显示全部楼层
marginer 发表于 2020-6-23 09:49
这思路,教科书级别的讲解,LZ做老师的吗

看人挺准嘛

使用特权

评论回复
| 2020-6-23 17:14 | 显示全部楼层
挖掘挖掘,赞

使用特权

评论回复
| 2020-6-23 17:15 | 显示全部楼层
挖掘挖掘,赞

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

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