5419|0

1297

帖子

2

TA的资源

纯净的硅(中级)

楼主
 

[XMC4700 Relax 5V shield 评测]04 定时器中断实现串口定时发送 [复制链接]

上次评测中PWM使用CCU的功能非常多,大致相当于其他MCU中的定时器模块。这次就来看看其中的定时器用法,同时试一下中断的使用方法。 当然,这个时候如果再来点灯就没啥意思了,因此增加串口通信的内容,毕竟在没有显示屏的情况下,串口就是最重要的交互手段了。 此次评测的主要就是实现定时通过串口向上位机发送字符串。一方面可以评测其中的定时器,中断和串口三个app。同时,这个框架在后期添加了传感器以后,就可以变成一个简单的串口测量模块。 在下面的评测中,app的添加和配置就不详细介绍了,直接贴图,具体过程大同小异,可以在上一次评测中找到。此次工程主要包括以下3个app。

  • UART:负责串口通信。
  • TIMER:负责定时,并产生定时事件。
  • INTERRUPT:负责处理定时事件。

首先是新建CE工程,然后添加uart app。uart的默认配置是19200,8,N,1。其他暂时都可以不用动。 然后为uart分配管脚,P1.5/Tx和P1.4/Rx。在默认配置中,传输是用中断实现的,用户代码中只要调用UART_Transmit函数就可以啦。 注意哦,在修改用户代码前,记得生成代码,这样才能完成配置好的外设的初始化代码。

用户代码是在main.c中修改的。此函数中首先调用 DAVE_Init()完成初始化工作,在完成初始化状态判断后,就可以写用户代码了。 我们的初步代码很简单,就是直接发送两个字符串。在进入while(1U)前调用UART_Transmit。代码和效果如下图所示。


图1 串口发送效果图

可能细心的同学会问,为啥要写在同一行呢?分两行不行吗?对了,直接写两行是不行的,只能收到第一行。 想来应该是第一行还没发送完,是不会理睬下面的发送请求的。需要在中间对是否发送完成做一个判断,才能使用下一次发送。 如下图所示,如果没有中间while(UART_IsTxBusy(&UART_PC));这行代码,那么串口就只能收到第一行字符串。


图2 等待串口发送完成

接下来看定时功能。我们可以直接使用timer这个app,并设定其工作周期为1s(1000000 usec),同时勾选event settings里面的time interval event。


图3 定时器配置图

timer中允许生成定时事件,还需要添加一个interrupt APP来完成事件接收和处理。这个app的配置很简单,主要就是指定中断处理函数名,我们这里叫做Time_Interval_Event。


图4 中断配置图

我们注意到上图中有个warning,也就是说这个中断还需要配置中断源,这个是在HW signal connection中完成的。如下图所示


图5 HW signal connection配置图

最后,generate code,可以得到所有外设的初始化代码。当然用户功能还需要通过代码来实现。 打开main.c文件,在其最后添加如下定时中断代码,实现每隔1s打印字符串到串口。 通过变量i来控制,使得hello eeworld和hi infineon交替出现的,定时中断处理函数如下图所示。


图6 定时中断处理函数

小结:本次评测中,使用timer并配合interrupt,实现了通过串口定时向上位机发送字符串的功能。 可以发现,DAVE中开发代码,利用UI界面配置外设属性,简化了初始化过程,使用户可以专注于应用代码开发,可以大大提高开发效率。



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

此帖出自单片机论坛
点赞 关注
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表