1 Star 0 Fork 31

123sdju/stm32_framework

forked from 周春雷/stm32_framework 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
模板要添加的内容.txt 2.37 KB
一键复制 编辑 原始数据 按行查看 历史
瞰百 提交于 2021-01-18 15:30 +08:00 . 修改说明文件
加一个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
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/sdju123/stm32_framework.git
git@gitee.com:sdju123/stm32_framework.git
sdju123
stm32_framework
stm32_framework
master

搜索帮助

371d5123 14472233 46e8bd33 14472233