你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

HAL库 软复位和查询复位状态用哪个函数?

[复制链接]
Owen.li 提问时间:2019-2-13 21:55 /
刚从标准库转到HAL库,有些函数找不到;请教大虾,标准库软复位NVIC_SystemReset和查询软复位标志RCC_GetFlagStatus(RCC_FLAG_SFTRST),在HAL库中怎样使用?
阅读主题, 点击返回1楼
收藏 1 评论9 发布时间:2019-2-13 21:55

举报

9个回答
奏奏奏 回答时间:2019-2-14 09:17:47
我在HAL库里面软件复位的办法是:
(1)设置IWDG;
(2)根据条件判断喂狗还是不喂狗。

可能有更直接的办法,但是我不知道。我这种做法的好处是可以通过条件触发复位。

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

与龙共舞 回答时间:2019-2-14 12:27:05
读RCC寄存器

如下
void get_resert_status(void)
{

    if( READ_BIT(RCC->CSR, RCC_CSR_FWRSTF) != RESET)
    {
        log_err("硬件原因复位\n");
    }
    if( READ_BIT(RCC->CSR, RCC_CSR_OBLRSTF) != RESET)
    {
        log_err("保护字节复位\n");
    }
    if( READ_BIT(RCC->CSR, RCC_CSR_PINRSTF) != RESET)
    {
        log(INFO,"复位按键复位\n");
    }
    if( READ_BIT(RCC->CSR, RCC_CSR_BORRSTF) != RESET)
    {
        log_err("低于电压阈值复位\n");
    }
    if( READ_BIT(RCC->CSR, RCC_CSR_SFTRSTF) != RESET)
    {
        log_err("软件复位\n");
    }
    if( READ_BIT(RCC->CSR, RCC_CSR_IWDGRSTF) != RESET)
    {
        log_err("内置看门狗复位\n");
    }
    if( READ_BIT(RCC->CSR, RCC_CSR_WWDGRSTF) != RESET)
    {
        log_err("外置看门狗复位\n");
    }
    if( READ_BIT(RCC->CSR, RCC_CSR_LPWRRSTF) != RESET)
    {
        log_err("低功耗非法模式复位\n");
    }
    __HAL_RCC_CLEAR_RESET_FLAGS();

评分

参与人数 1蝴蝶豆 +3 收起 理由
STMCU + 3

查看全部评分

Owen.li 回答时间:2019-2-14 12:58:48

试了可以,谢谢
回答时间:2019-2-14 16:16:32
NVIC_SystemReset可以复位,
__HAL_RCC_GET_FLAG这个可以用于查询复位原因。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

Owen.li 回答时间:2019-3-5 10:52:40
安 发表于 2019-2-14 16:16
NVIC_SystemReset可以复位,
__HAL_RCC_GET_FLAG这个可以用于查询复位原因。

谢谢
pjzmj2012 回答时间:2020-4-1 16:54:48
真不明白ST是怎么想的,既然有标准库还要推出hAL库干什么,多那么多不兼容的程序
Owen.li 回答时间:2020-5-8 22:14:16
pjzmj2012 发表于 2020-4-1 16:54
真不明白ST是怎么想的,既然有标准库还要推出hAL库干什么,多那么多不兼容的程序 ...

STCubemx+HAL+LL是趋势吧,G系列没有标准库了,不接受新事物就被淘汰
pjzmj2012 回答时间:2020-8-28 17:10:01
Owen.li 发表于 2020-5-8 22:14
STCubemx+HAL+LL是趋势吧,G系列没有标准库了,不接受新事物就被淘汰

趋势?这算什么趋势难用的要死。要淘汰老早淘汰了,现在M4 M3核心的芯片选择多了去了,不见得非得用ST的
。到时候淘汰的我看是st
g921002 回答时间:2020-8-29 00:10:41
pjzmj2012 发表于 2020-8-28 17:10
趋势?这算什么趋势难用的要死。要淘汰老早淘汰了,现在M4 M3核心的芯片选择多了去了,不见得非得用ST的
...

那你可以換別家用,比較看看他們BSP寫的怎麼樣。XD

HAL/LL主要是跟middleware和更上層應用銜接。
程式寫不到那種境界,是感受不到它好用的地方。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版