volbin0042 发表于 2023-5-25 09:13

HC32F005_DDL_Rev2.0.0官方例程 TIM1无法进入中断

本帖最后由 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不行

可有高手指点一二

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 在我这测 没进中断真的!

wubangmi 发表于 2023-5-25 14:15

我觉得你的代理商没教会你怎么找问题。
你贴了这张图上来我看你CR寄存器值。
这应该不是正规的例程,是被谁魔改过的。
你试试在你定时器初始化函数后加上如图所示的一条语句试试?

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。
页: [1]
查看完整版本: HC32F005_DDL_Rev2.0.0官方例程 TIM1无法进入中断