你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
查看全部评分
与龙共舞 发表于 2019-2-14 12:27 读RCC寄存器 如下
安 发表于 2019-2-14 16:16 NVIC_SystemReset可以复位, __HAL_RCC_GET_FLAG这个可以用于查询复位原因。
pjzmj2012 发表于 2020-4-1 16:54 真不明白ST是怎么想的,既然有标准库还要推出hAL库干什么,多那么多不兼容的程序 ...
Owen.li 发表于 2020-5-8 22:14 STCubemx+HAL+LL是趋势吧,G系列没有标准库了,不接受新事物就被淘汰
pjzmj2012 发表于 2020-8-28 17:10 趋势?这算什么趋势难用的要死。要淘汰老早淘汰了,现在M4 M3核心的芯片选择多了去了,不见得非得用ST的 ...
STCubemx+HAL+LL确实是趋势,效率也高。:)
如下
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)设置IWDG;
(2)根据条件判断喂狗还是不喂狗。
可能有更直接的办法,但是我不知道。我这种做法的好处是可以通过条件触发复位。
评分
查看全部评分
试了可以,谢谢
__HAL_RCC_GET_FLAG这个可以用于查询复位原因。
评分
查看全部评分
谢谢
STCubemx+HAL+LL是趋势吧,G系列没有标准库了,不接受新事物就被淘汰
趋势?这算什么趋势难用的要死。要淘汰老早淘汰了,现在M4 M3核心的芯片选择多了去了,不见得非得用ST的
。到时候淘汰的我看是st
那你可以換別家用,比較看看他們BSP寫的怎麼樣。XD
HAL/LL主要是跟middleware和更上層應用銜接。
程式寫不到那種境界,是感受不到它好用的地方。
个人觉得淘汰不淘汰跟开源度有关,ST的最大好处就是开源性极高,所以才会有很多的人去选择他
STCubemx+HAL+LL确实是趋势,效率也高。:)