- 博客(11)
- 收藏
- 关注
原创 DMA技术通俗讲解
DMA的核心价值是将CPU从重复性搬运中解放,专注于复杂任务,显著提升系统效率。它如同一个“自动传送带”,只需设置起点(源地址)、终点(目标地址)和数量(数据量),后续工作全由硬件完成。
2025-10-31 16:44:39
266
原创 HardFault_Handler/死机/复位排查方法
HardFault_Handler是处理器级异常处理程序的一部分,属于ARM Cortex-M架构的默认中断服务例程(ISR)。当单片机发生严重硬件故障时,系统无法通过常规中断处理机制(如存储器管理故障、总线故障或用法故障)解决异常,便会升级为HardFault,并自动调用此Handler。内存溢出或访问越界:如堆栈溢出(Stack Overflow)导致系统栈空间耗尽,或程序访问超出分配内存区域的地址。:在要求对齐的架构(如32位地址)中,访问非对齐的内存地址。例如访问未按字对齐结构体。
2025-07-01 17:11:51
1791
原创 IIC的死锁及协议详解
1、当多个设备连接到同一总线,当用推挽输出结构(包含上拉P-MOS和下拉N-MOS)时,若不同设备同时驱动总线至相反电平(例如一设备输出高电平而另一设备输出低电平),电源(VCC)与地(GND)之间将形成直接短路通路,导致大电流通过并可能损坏器件。在SCL电平为低的时候SDA电平无效,可对SDA电平进行跳变调整,当SCL电平为高时保持SDA电平,SCL高电平对应的SDA电平即为当前数据。起始位+寻址(0发)(应答)+数据(应答)+起始位+寻址(1收)(应答)+数据(应答)+…3、从机发送应答位,共1位。
2025-06-24 14:52:10
381
原创 SPI回忆总结
3主机(Master)将要发送的数据写到发送数据缓存区(Menory),缓存区经过移位寄存器(0~7),串行移位寄存器通过MOSI信号线将字节一位一位的移出去传送给从机,,同时MISO接口接收到的数据经过移位寄存器一位一位的移到接收缓存区。(PS: SPI只有主模式和从模式之分,没有读和写的说法,外设的写操作和读操作是同步完成的。eg:CPOL=0,CPHA=0:此时空闲态时,SCLK处于低电平,数据采样是在第1个边沿,(低电平到高电平),所以数据采样是在上升沿,数据发送是在下降沿。但是缺少了应答机制。
2023-05-19 09:37:41
343
1
原创 中断处理总结
3、在启动文件执行的时候,内核和每个外设的中断服务函数的地址都是已经确定好的,地址就存放在中断向量表中,而且在启动文件里面已经写好了中断服务函数,只是这些中断服务函数为空,而且带[weak]弱定义,那么我们就需要在C文件里面重新实现这个中断服务函数,用户写这个中断服务函数的时候,函数名必须跟启动文件里面写的中断函数名对应,因为函数名对应的就是中断服务函数的地址,如果中断服务函数名和启动文件的名字不一样,就默认启动文件里面预先写好的空的中断服务函数,而且是一个死循环,程序就会一直卡死在中断服务函数里面。
2023-05-19 09:36:44
750
1
原创 单片机低功耗配置及注意事项
32的三种低功耗模式睡眠sleep,停机stop,待机idle或standby睡眠状态下只是CPU关闭,任一中断均可唤醒。停机状态下关闭CPU及内部功能、分频器、HSE,可用外部中断、电源电压中断PVD、RTC闹钟、USB唤醒。待机状态下与停机状态下相比多一项RAM内容清除(相当于复位了),用上图表里的功能唤醒。IO配置总结1、所有IO管脚,如果高阻状态端口是高电平,就设成上拉输入,如果高阻状态是低电平,设成下拉输入,如果高阻是中间状态,设成模拟输入。必须用到输出时,硬件上必须加上下拉。2、
2022-03-16 11:50:45
4316
原创 keil里Flash Download failed - “Cortex-M4“等一系列配置问题
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-02-17 20:01:40
1865
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅