打印
[PIC®/AVR®/dsPIC®产品]

【CuriosityNano测试报告】+ AVR128DA48之定时器设置已成功

[复制链接]
2194|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hu9jj|  楼主 | 2020-8-15 10:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hu9jj 于 2020-8-19 17:57 编辑

     打算启用AVR128DA48的定时器功能来控制LED的闪烁,尝试了几天仍未成功,不知道是哪个步骤错了,请各位帮忙指教。开始用TCA测试:

    工作模式选择了正常模式和频率产生模式(最末选项),反复测试均未成功。




    之后改用TCB0定时器测试,在MCC中的配置如下:


    工作模式选择最后一项周期中断:


    其他按默认的设置:


    然后在定时器中断里对全局变量进行累加:


    在main函数中启用定时器中断:
TCB0_EnableCaptInterrupt();

    测试时发现变量ms并未如期改变,不知是何原因。


    在大家的热心帮助下,问题已经得到解决,详见9楼内容。

使用特权

评论回复
沙发
lcczg| | 2020-8-17 15:17 | 只看该作者
楼主和这个比较一下 https://github.com/microchip-pic-avr-examples/avr128da48-led-dimming-pwm-example

使用特权

评论回复
板凳
qjp1988113| | 2020-8-17 15:32 | 只看该作者
好搞的的啊,可以看看我之前的一个帖子https://bbs.21ic.com/forum.php?mod=viewthread&tid=3004300&page=1#pid11357288。你的这个ms在中断里面, 变量前面要加volitile。不然会被编译器优化掉。

使用特权

评论回复
地板
CoolSilicon| | 2020-8-17 20:20 | 只看该作者
1. 你先控制IO口,让它能输出.
2. 再设置timer,让它能中断.
一步一步的来...

使用特权

评论回复
5
hu9jj|  楼主 | 2020-8-18 14:48 | 只看该作者
不知各位注意没有,在MCC配置定时器参数时,定时时间的设置时无上下限的显示,可能这是主要原因,我反复试过多次都是这样,没有出现过上下限。




使用特权

评论回复
6
lcczg| | 2020-8-18 15:31 | 只看该作者
最新的MCC 8-bit AVR MCUs 的library是2.3.0,你的是2.1.0.  可以从 https://www.microchip.com/mplab/mplab-code-configurator的Current download下个新的安装下。

使用特权

评论回复
7
hu9jj|  楼主 | 2020-8-18 16:25 | 只看该作者
lcczg 发表于 2020-8-18 15:31
最新的MCC 8-bit AVR MCUs 的library是2.3.0,你的是2.1.0.  可以从 https://www.microchip.com/mplab/mpla ...

谢谢,我更新一下再测试。

使用特权

评论回复
8
hu9jj|  楼主 | 2020-8-18 17:11 | 只看该作者
CoolSilicon 发表于 2020-8-17 20:20
1. 你先控制IO口,让它能输出.
2. 再设置timer,让它能中断.
一步一步的来...

是这样做的,先测试了轮询法按键检测,成功了之后再测试中断法,没有获得预期的效果。

使用特权

评论回复
9
hu9jj|  楼主 | 2020-8-19 17:56 | 只看该作者
    通过参照6楼老师的项目代码,在打开其上传的测试项目,进入MCC配置时出现了下列的升级提示:

    升级过后再打开自己原来的项目,进入MCC配置定时器时就出现了时间的上下限数值了:


    生成代码并对定时器使用的变量添加了volatile标识,编译下载后定时器就能正常工作了。
    再次感谢各位的热心帮助!

使用特权

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

本版积分规则

认证:Microchip
简介:让我们来为您提供帮助。我们可提供各种资源来帮助您解决一切问题。是否需要与我们的客户支持团队联系?您可以通过电话、在线聊天功能或电子邮件与他们联系。

151

主题

1059

帖子

11

粉丝