社区导航

 

搜索
查看: 182|回复: 0

[原创] 【 XMC4800 Relax EtherCAT Kit测评】+上手DAVE,定时中断与UART简单应用

[复制链接]

279

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2019-1-26 20:54 | 显示全部楼层 |阅读模式
昨天晚上发了一个简单应用UART的例子以后,本人就在琢磨如何把定时器和中断应用进去。参考了网友定时器blinky的程序,发现其实定时器用到UART中也比较简单。
分享具体的步骤如下:
1.    新建工程,添加相关的模块,其中UART的相关APP模块添加和配置可以见上一个帖子。
2.    在UART的基础上添加TIMER和INTERRUPT两个APP模块。
添加APP模块.png
3.    分别对两个模块设置。TIMER的设置如下,注意要使能定时事件,这样才能连接到中断去。
TIMER设置.png TIMER设置2.png
4.    设置中断如下
中断设置.png
这里需要注意中断处理句柄函数定义为UerIRQHandler(),需要在后面main程序中自行添加,定义的函数名也可以自己修改。
5.    设置TIMER的HW信号连接,将定时事件与中断连接上,配置如下图。
定时器与中断的HW信号信号连接.png
6.    然后修改main程序,需要定义全局变量和一个中断处理程序。具体代码如下:
  1. #include <DAVE.h>                 

  2. void UserIRQHandler();
  3. UART_STATUS_t init_status;

  4. uint8_t valid_str[] = "hello world!\n";
  5. int main(void)
  6. {
  7.   DAVE_STATUS_t status;

  8.   status = DAVE_Init();           /* Initialization of DAVE APPs  */

  9.   init_status = (UART_STATUS_t)UART_Init(&UART_0);

  10.   if(status != DAVE_STATUS_SUCCESS)
  11.   {
  12.     /* Placeholder for error handler code. The while loop below can be replaced with an user error handler. */
  13.     XMC_DEBUG("DAVE APPs initialization failed\n");

  14.     while(1U)
  15.     {

  16.     }
  17.   }

  18.   /* Placeholder for user application code. The while loop below can be replaced with user application code. */
  19.   while(1U)
  20.   {

  21.   }
  22. }


  23. void UserIRQHandler()
  24. {
  25.          
  26. if(init_status==UART_STATUS_SUCCESS){
  27.                  
  28. UART_Transmit(&UART_0, valid_str, sizeof(valid_str));
  29.                   
  30. UART_Transmit(&UART_0,"time interrupted",sizeof("time interrupted"));
  31.           
  32. }

  33. }
复制代码

7.    编译、现在运行,使用PUTTY软件,可以看到程序运行正常。
运行结果.png
总结:计时器的应用非常简单,我们只需要设定好计时数值,这里数值是按照微秒us计算的,不用像以前还需要自己算来配置各个寄存器的值,非常方便,赞一个。
XMC4800的硬件资源非常丰富,接下来,我将考虑看看ADC和DAC的使用及DAVE相关操作。网上关于APP的使用教程不多,其实DAVE软件里相关的chm电子资料很多,都配有相关的资料参考,很方便,只要耐下心来,相信大家都能轻松驾驭。



此内容由EEWORLD论坛网友flyword原创,如需转载或用于商业用途需征得作者同意并注明出处

此帖出自工控电子论坛


回复

使用道具 举报

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

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2019-2-23 00:25 , Processed in 0.073209 second(s), 17 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表