查看: 3174|回复: 0

[原创] 【正点原子-号令者】【I.MX-RT-1052】【05-定时器初试】

[复制链接]
  • TA的每日心情
    开心
    2024-8-5 17:13
  • 签到天数: 333 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2018-7-25 22:01:28 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 xiaoshen-372360 于 2018-7-25 22:42 编辑

    先移植原子个的代码测试,熟悉定时器操作,然后自己在写一遍
    1:首先建立TIM.c和TIM.h文件,并添加与UserCode栏。
    1.png
    2:在.c文件中加入如下代码

    1. #include "TIM.h"

    2. int count=0;
    3. void TIM_X_Init(void)
    4. {
    5. gpt_config_t gpt1_onfig;
    6. GPT_GetDefaultConfig(&gpt1_onfig); //先初始化GPT1为默认值
    7. gpt1_onfig.clockSource=kGPT_ClockSource_Periph; //初始化时钟源perclk_clk_root
    8. gpt1_onfig.divider=3750-1; //设置分频值
    9. GPT_Init(GPT1,&gpt1_onfig);
    10. //
    11. GPT_SetOutputCompareValue(GPT1,kGPT_OutputCompare_Channel1,5000); //设置比较计数值
    12. GPT_EnableInterrupts(GPT1,kGPT_OutputCompare1InterruptEnable); //使能GPT比较通道1中断
    13. // RT1052_NVIC_SetPriority(GPT1_IRQn,5,0); //抢占优先级5,子优先级0
    14. NVIC_SetPriority(GPT1_IRQn,1);
    15. EnableIRQ(GPT1_IRQn); //使能GPT1中断
    16. GPT_StartTimer(GPT1); //开始定时器
    17. }

    18. //GPT1中断服务函数
    19. void GPT1_IRQHandler(void)
    20. {
    21. //OCR1中断
    22. if(GPT_GetStatusFlags(GPT1,kGPT_OutputCompare1Flag))
    23. {
    24. if(count++%2==0)
    25. {
    26. LED0(0); //DS0亮
    27. }
    28. else
    29. {
    30. LED0(1); //DS0亮
    31. }
    32. GPT_ClearStatusFlags(GPT1,kGPT_OutputCompare1Flag);//清除中断标志位
    33. }
    34. // __DSB(); //数据同步屏蔽指令
    35. }










    复制代码
    3:在.h文件中加入如下代码

    1. #ifndef TIM_H
    2. #define TIM_H
    3. #include "SystemIncludes.h"


    4. #define LED0(n) (n?GPIO_PinWrite(GPIO1,3,1):GPIO_PinWrite(GPIO1,3,0))
    5. #define LED0_Toggle (GPIO1->DR ^= (1<<3)) //LED0输出电平翻转

    6. #define LED1(n) (n?GPIO_PinWrite(GPIO3,3,1):GPIO_PinWrite(GPIO3,3,0))
    7. #define LED1_Toggle (GPIO3->DR ^= (1<<3)) //LED1输出电平翻转


    8. void TIM_X_Init(void);





    9. #endif






    复制代码

    这样一来定时器的驱动就已经移植成功了,结合原有的LED程序,

    DS0呈现闪烁的现象,初试定时器完成

    定时器代码: RT1052-Demo-TIM.rar (910.67 KB, 下载次数: 3)
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条



    手机版|小黑屋|与非网

    GMT+8, 2025-1-12 20:53 , Processed in 0.125891 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.