请选择 进入手机版 | 继续访问电脑版

芯虎论坛

 找回密码
 立即注册
查看: 563|回复: 6

关于HC32F003使用中出现的问题

[复制链接]

1

主题

5

帖子

67

积分

虎头虎脑

Rank: 2

积分
67
发表于 2021-2-5 13:33:56 | 显示全部楼层 |阅读模式
1、设定调用官方给的设定函数设定TIM0定时器的寄存器,但是真正写入寄存器的数据是错的(用KEIL5软件,调试时直接查看寄存器)。直接整个写入,定时器寄存器数据就是正确的。(我直接使用官方网站下载的例程测试TIM0)
问题是普遍的吗?HC32F003写入寄存器是否都需要整个写,不能位写?

2、调用官方给的函数,进入深度休眠模式前把输出引脚P31、P32、P33、P27、P26、P25、P24拉高。设定普通休眠可以正常拉高,但是进入深度休眠P26、P25引脚就无法拉高了。
1)///< 使能SWD口IO功能
    Sysctrl_SetFunc(SysctrlSWDUseIOEn, TRUE);

2)///< 进入深度休眠模式——使能唤醒后不自动休眠特性
    //Lpm_GotoDeepSleep(FALSE);
    Lpm_GotoSleep(FALSE);
3)

            Gpio_WriteOutputIO(GpioPort3, GpioPin1, TRUE);
            Gpio_WriteOutputIO(GpioPort3, GpioPin2, TRUE);
            Gpio_WriteOutputIO(GpioPort3, GpioPin3, TRUE);
            M0P_GPIO->P2OUT = 0xF0;
            __asm("WFI");


回复

使用道具 举报

1

主题

5

帖子

67

积分

虎头虎脑

Rank: 2

积分
67
 楼主| 发表于 2021-2-20 08:37:48 | 显示全部楼层
没有大佬回答一下吗?
回复

使用道具 举报

6

主题

9

帖子

42

积分

虎视眈眈

Rank: 1

积分
42
发表于 2021-2-20 11:03:55 | 显示全部楼层
第一个问题,如果你用的keil 版本比较高,可以试试对寄存器写入的时候用 读修改写的方式写入。
比如 :想把timer_cr寄存器最后两位清0
temp = timer_cr;
timer_cr = temp & 0xfffffffc;
按照上面类似这样写,不用官方sdk里的位域操作。
比如:M0P_SYSCTRL->PLL_CR_f.FRSEL  = pstcPLLCfg->enInFreq; 这句就是位域操作,华大官方PLL_CR_f 这样的写法带“_f”的都是位域。

我遇到过类似的情况,不用位域方式写入,而是用读修改写的方式写一个寄存器 是没问题的。
这个问题可能是编译器的问题。
回复

使用道具 举报

6

主题

9

帖子

42

积分

虎视眈眈

Rank: 1

积分
42
发表于 2021-2-20 11:31:10 | 显示全部楼层
第二个问题:
P25 P26 是否已经配置成了模拟功能?
回复

使用道具 举报

1

主题

5

帖子

67

积分

虎头虎脑

Rank: 2

积分
67
 楼主| 发表于 2021-2-21 11:46:21 | 显示全部楼层
yowen_2007 发表于 2021-2-20 11:31
第二个问题:
P25 P26 是否已经配置成了模拟功能?

没有,是普通IO。测试普通休眠可以正常拉高,但是进入深度休眠P26、P25引脚就无法拉高了。
回复

使用道具 举报

42

主题

74

帖子

4万

积分

论坛元老

Rank: 8Rank: 8

积分
40650

论坛元老

发表于 2021-2-22 10:11:01 | 显示全部楼层
叶樱枫 发表于 2021-2-21 11:46
没有,是普通IO。测试普通休眠可以正常拉高,但是进入深度休眠P26、P25引脚就无法拉高了。 ...

检查一下P25,P26引脚的配置
1.设置为数据端口,
2.设置为输出
3.设置为推挽输出
回复

使用道具 举报

1

主题

5

帖子

67

积分

虎头虎脑

Rank: 2

积分
67
 楼主| 发表于 2021-2-25 08:32:34 | 显示全部楼层
龙飞虎 发表于 2021-2-22 10:11
检查一下P25,P26引脚的配置
1.设置为数据端口,
2.设置为输出

我把官方函数Lpm_GotoDeepSleep里面的__WFI();给注释掉,在休眠的时候用__asm("WFI");。然后程序就正常了。
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|芯虎论坛 ( 辽ICP备18019618号 )

GMT+8, 2021-3-7 23:05 , Processed in 0.138171 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表