[技术问答] HC32F005_DDL_Rev2.0.0官方例程 TIM1无法进入中断

[复制链接]
1630|14
 楼主| volbin0042 发表于 2023-5-25 09:13 | 显示全部楼层 |阅读模式
本帖最后由 volbin0042 于 2023-5-25 09:15 编辑

HC32F005_DDL_Rev2.0.0官方例程 TIM1无法进入中断 KEIL compiler version5 ,version6皆试过

HC32F005_DDL_Rev1.0.2官方例程 TIM1可以正常进入中断  compiler version5可 version6不行

可有高手指点一二

HC32F005_DDL_Rev2.0.0.zip

1.69 MB, 下载次数: 10

驱动库及样例HC32F005_DDL_Rev1.0.2.zip

1.9 MB, 下载次数: 4

zitengluo2008 发表于 2023-5-25 09:50 | 显示全部楼层
连接P25(GATE)至VCC即可
 楼主| volbin0042 发表于 2023-5-25 10:13 | 显示全部楼层
zitengluo2008 发表于 2023-5-25 09:50
连接P25(GATE)至VCC即可

已经 stcCfg.enGate  = BtGateDisable;
应该可以不用接吧!
zitengluo2008 发表于 2023-5-25 11:06 | 显示全部楼层
volbin0042 发表于 2023-5-25 10:13
已经 stcCfg.enGate  = BtGateDisable;
应该可以不用接吧!

是的,可以不用接P25,我仿真是可以正常进入中断的
 楼主| volbin0042 发表于 2023-5-25 11:55 | 显示全部楼层
本帖最后由 volbin0042 于 2023-5-25 11:59 编辑

HC32F005_DDL_Rev2.0.0官方例程 TIM1
小华经销商 上海通钥电子科技 协助远程桌面 改 COMPILER VERSION 5
就可以进入中断了
我再研究是哪操作问题(COMPILER VERSION 6不行)
wubangmi 发表于 2023-5-25 12:10 | 显示全部楼层
volbin0042 发表于 2023-5-25 11:55
HC32F005_DDL_Rev2.0.0官方例程 TIM1
小华经销商 上海通钥电子科技 协助远程桌面 改 COMPILER VERSION 5
就 ...

例程应该不太可能出这种问题,是你自己建的工程?
 楼主| volbin0042 发表于 2023-5-25 13:15 | 显示全部楼层
本帖最后由 volbin0042 于 2023-5-25 13:35 编辑
wubangmi 发表于 2023-5-25 12:10
例程应该不太可能出这种问题,是你自己建的工程?

不是
是官方例程
打开 DEVICE默认ARM DEVICE M0+ 要修改
wubangmi 发表于 2023-5-25 13:32 | 显示全部楼层
volbin0042 发表于 2023-5-25 13:15
不是
是官方例程
打开 默认ARM DEVICE M0+ 要修改 COMPILER 默认6

我不信邪,打开例程跑了下,没有你说的这个问题。
我只改了两个地方:
1、把门使能给dissble了。
2、在main函数的while(1)前增加了启动定时器函数Bt_Run(TIM1);
    不重新启动中断只能进两次中断,因为定时器被关了。
3、编译用的是compiler version 6
 楼主| volbin0042 发表于 2023-5-25 13:37 | 显示全部楼层
wubangmi 发表于 2023-5-25 13:32
我不信邪,打开例程跑了下,没有你说的这个问题。
我只改了两个地方:
1、把门使能给dissble了。

我试试
 楼主| volbin0042 发表于 2023-5-25 13:47 | 显示全部楼层
本帖最后由 volbin0042 于 2023-5-25 13:49 编辑
wubangmi 发表于 2023-5-25 13:32
我不信邪,打开例程跑了下,没有你说的这个问题。
我只改了两个地方:
1、把门使能给dissble了。

看到您不信邪 热心帮我测了!很感谢!
VERSION 6 在我这测 没进中断真的!
螢幕擷取畫面 2023-05-25 134901.png
wubangmi 发表于 2023-5-25 14:15 | 显示全部楼层
我觉得你的代理商没教会你怎么找问题。
你贴了这张图上来我看你CR寄存器值。
这应该不是正规的例程,是被谁魔改过的。
你试试在你定时器初始化函数后加上如图所示的一条语句试试?

1684995218028.jpg
 楼主| volbin0042 发表于 2023-5-25 15:24 | 显示全部楼层
本帖最后由 volbin0042 于 2023-5-25 15:59 编辑
wubangmi 发表于 2023-5-25 14:15
我觉得你的代理商没教会你怎么找问题。
你贴了这张图上来我看你CR寄存器值。
这应该不是正规的例程,是被谁 ...

再次感谢大佬回复 让您费心了!
已测试
原例程是正规的例程 小華半導體官網下載
加入M0P_TIM1->CR = 0X0443; 確實可以以version 6 正常进入中断

恳请大佬开示
M0P_TIM1->CR = 0X0443;

是将下列重新再次直接赋值 想不通
    stcCfg.enGateP = BtPositive;
    stcCfg.enGate  = BtGateDisable;
    stcCfg.enPRS   = BtPCLKDiv16;
    stcCfg.enTog   = BtTogDisable;
    stcCfg.enCT    = BtTimer;
    stcCfg.enMD    = BtMode2;

wubangmi 发表于 2023-5-25 15:44 | 显示全部楼层
volbin0042 发表于 2023-5-25 15:24
再次感谢大佬回复 让您费心了!
已测试
原例程是正规的例程 小華半導體官網下載

这没法开示。需要自己开悟!!!
给你的建议就是,理解用户书册。对照着用户手册的每一位看寄存器的值。每一位都是你想要配置的值,那就表明配置成功了。反之就是配置失败。
另外有些keil版本有bug,你虽然写对了,但是实际上由于编译器的原因,寄存器没有配置成功。所以相对应的功能就不能实现。

 楼主| volbin0042 发表于 2023-5-25 17:05 | 显示全部楼层
wubangmi 发表于 2023-5-25 15:44
这没法开示。需要自己开悟!!!
给你的建议就是,理解用户书册。对照着用户手册的每一位看寄存器的值。 ...

好的! 祝顺心!
cooldog123pp 发表于 2023-5-27 08:48 | 显示全部楼层
这个应该是小华的单片机吧,小华的资料应该算全的,看下他们的例程,论坛应该有他们FAE。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

70

帖子

1

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