[PIC®/AVR®/dsPIC®产品] 【CuriosityNano测试报告】+ AVR128DA48之定时器设置已成功

[复制链接]
2514|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,让它能中断.
一步一步的来...
 楼主| hu9jj 发表于 2020-8-18 14:48 | 显示全部楼层
不知各位注意没有,在MCC配置定时器参数时,定时时间的设置时无上下限的显示,可能这是主要原因,我反复试过多次都是这样,没有出现过上下限。




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
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下个新的安装下。
 楼主| 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 ...

谢谢,我更新一下再测试。
 楼主| hu9jj 发表于 2020-8-18 17:11 | 显示全部楼层
CoolSilicon 发表于 2020-8-17 20:20
1. 你先控制IO口,让它能输出.
2. 再设置timer,让它能中断.
一步一步的来...

是这样做的,先测试了轮询法按键检测,成功了之后再测试中断法,没有获得预期的效果。
 楼主| hu9jj 发表于 2020-8-19 17:56 | 显示全部楼层
    通过参照6楼老师的项目代码,在打开其上传的测试项目,进入MCC配置时出现了下列的升级提示:

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


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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

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

本版积分规则

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

151

主题

1063

帖子

11

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