代码拉取完成,页面将自动刷新
同步操作将从 周春雷/stm32_framework 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
加一个uint64的系统运行微秒变量,可以通过一个函数获取
开启CSS时钟安全系统(在 NMI 的处理程序中必须通过设置时钟中断寄存器 (RCC_CIR) 里的 CSSC 位来清除 CSS 中断。)
启动时钟安全系统CSS:
RCC_ClockSecuritySystemCmd(ENABLE); (NMI中断是不可屏蔽的!)
外部振荡器实现时,产生中断,对应的中断程序:
void NMIException(void)
{
if (RCC_GetITStatus(RCC_IT_CSS) != RESET)
{ // HSE、PLL已被禁止(但是PLL设置未变)
… … // 客户添加相应的系统保护代码处
// 下面为HSE恢复后的预设置代码
RCC_HSEConfig(RCC_HSE_ON); // 使能HSE
RCC_ITConfig(RCC_IT_HSERDY, ENABLE); // 使能HSE就绪中断
RCC_ITConfig(RCC_IT_PLLRDY, ENABLE); // 使能PLL就绪中断
RCC_ClearITPendingBit(RCC_IT_CSS); // 清除时钟安全系统中断的挂起位
// 至此,一旦HSE时钟恢复,将发生HSERDY中断,在RCC中断处理程序里,
系统时钟可以设置到以前的状态
}
}
PVD中断
当VDD下降到
PVD阀值以下和/或当VDD上升到PVD阀值之上时,根据
外部中断第16线的上升/下降边沿触发设置,就会产生
PVD中断。在中断处理程序中执行紧急关闭任务:将
MCU的寄存器、内存的数据保存起来,同时对外设进行
相应的保护操作。
记录学习网页
https://blog.csdn.net/k331922164/article/details/46275247?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control
https://wenku.baidu.com/view/5d1f4e9277232f60dccca13f.html
加cpu的id与bootloader和program的版本号,还有加密密钥等信息的静态const变量,可以通过协议通过通讯获取到读出来
32模板
通讯接口一律用dma+发送接收中断
串口,i2c,spi,can(现在有中断了,看看有没有dma)
玩熟它!
串口发送卡住可能跟没有发送中断有关
改进
接收有两个协议,一个是以\r\n结尾,一个存到软件FIFO中,fifo和串口接收到缓冲区都用动态申请,切换模式的时候把原来模式的内存释放掉
发送使用dma和中断,填好数据再启动发送dma,要借鉴网上成熟的例子先
从这里扒驱动!!!
https://github.com/MaJerle/stm32fxxx-hal-libraries
他这里有不少不错的组件,可用之
https://github.com/MaJerle?tab=repositories
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。