[技术问答]

AC7811使能计数器溢出中断或Hall模式程序跑飞问题(已解决)

[复制链接]
803|6
手机看帖
扫描二维码
随时随地手机跟帖
lihuasoft|  楼主 | 2020-6-29 20:31 | 显示全部楼层 |阅读模式
本帖最后由 lihuasoft 于 2020-7-4 09:45 编辑

6楼已解决

硬件:AC7811迷你板
软件:AutoGen Studio v1.3.0,Keil MDK v5.29,DFP1.0.8
如下图:PWDT的计数器溢出中断或Hall模式,这两项的任一项配置为ENABLE,重新生成代码编译下载后,程序就跑飞了

a001.PNG

不知问题出在哪里,求指点
附工程文件

PWDT_Hall_AC7811.rar (970.98 KB)

使用特权

评论回复

相关帖子

marginer| | 2020-6-30 19:18 | 显示全部楼层

使用特权

评论回复
RunningX| | 2020-7-1 19:32 | 显示全部楼层
你指的跑飞是程序中打断点有异常吗?我这边重现了一下,应该是编译器优化等级太高导致的。将优化等级调低即可,与PWDT的功能使能无关。还有一点注意一下,在调用mdelay前,需要先调用InitDelay,否则会有delay时间不准的情况。

使用特权

评论回复
lihuasoft|  楼主 | 2020-7-1 22:37 | 显示全部楼层
RunningX 发表于 2020-7-1 19:32
你指的跑飞是程序中打断点有异常吗?我这边重现了一下,应该是编译器优化等级太高导致的。将优化等级调低即 ...

多谢指点。
怪我没说清楚。附件里那个工程,是正常运行的配置。如果按图片所示修改配置,重新生成代码编译,再运行就跑飞了。单步调试,发现在调用PWDT_Init()函数并返回时,程序跑飞。
还请您再看一下。

使用特权

评论回复
RunningX| | 2020-7-2 09:20 | 显示全部楼层
lihuasoft 发表于 2020-7-1 22:37
多谢指点。
怪我没说清楚。附件里那个工程,是正常运行的配置。如果按图片所示修改配置,重新生成代码编 ...

已经按照图片所说的配置了两个Enable。单步调试也能正常从PWDT_Init()出来,while循环中的程序都能运行

使用特权

评论回复
评论
lihuasoft 2020-7-4 09:30 回复TA
谢谢,应该是我的原因。暂时还没查到。 
lihuasoft|  楼主 | 2020-7-4 09:43 | 显示全部楼层
RunningX 发表于 2020-7-2 09:20
已经按照图片所说的配置了两个Enable。单步调试也能正常从PWDT_Init()出来,while循环中的程序都能运行 ...

找到原因了。
根本原因是在下对AC7811还是不太熟悉,竟然忽视了AC7811的PWDT中断标志位要编程写0清除。
(最近一直读7801的手册,就以为7811和它一样了)
现在在中断里清除标志位,程序正常运行了。
多谢RunningX大佬的帮助指点

使用特权

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

本版积分规则

19

主题

268

帖子

3

粉丝