-
一、HardFault_Handler问题查找方法
查看几个方面,都会出现HardFault_Handler:1、是否有未初始化的指针、或越界的指针;2、堆、栈分配是否合理,避免...
-
最近调试一段代码,发现一个很奇怪的现象,有一个函数放在一个位置,代码的执行结果是正确的。如果放在其他地方就会出现问题,同样的一个函数,为什么会出现这样的差距呢?
看到这里,或许很...
-
在I2C程序中,很多时候使用while来判断状态是否发生改变。正常情况下,这个是很合适的。使用while,即做到了检测也起到了延时的作用,比单纯的计数延时要好的多。
但是如果...
-
最近在调试串口时遇到一个问题,就是STM32串口连续发送一串数据,第一个字节会丢失的问题。STM32串口发送必须先检测状态,否则第一个字节无法发出,发送完毕,必须检测发送状态是否完...
-
一、HardFault_Handler问题查找方法
查看几个方面,都会出现HardFault_Handler:1、是否有未初始化的指针、或越界的指针;2、堆、栈分配是否合理,避免...
-
每个STM32的参考程序中都会见到以下的函数
/* Enable Prefetch Buffer */ FLASH_P...
-
最近在调试串口时遇到一个问题,就是STM32串口连续发送一串数据,第一个字节会丢失的问题。STM32串口发送必须先检测状态,否则第一个字节无法发出,发送...
-
我们写嵌入式程序,基本上采用C语言来编写,以main( )作为程序的入口。但实际上,mian()并不是最先要执行的,在这之前需要做一些基本的工作,如堆、栈的定义;mai...
-
STM32的库函数操作给设计开发人员带来了诸多的便利,开发人员不必十分了解STM32的内部寄存器及硬件机制,只要有C语言基础,即可完成单片机的开发,缩短了开发周期,降低了开发难度,...
-
引言
刷卡消费随着人们生活水平的提高已经成为常用的支付方式之一。为了保证刷卡消费的安全性,将PSAM卡内嵌于各种终端刷卡设备中。PSAM(Purchase SecureAcces...
-
STM32软件复位(基于库文件V3.5)
void SoftReset(void)
{
__set_FAULTMASK(1); // 关闭所有中端
NVIC_SystemR...
-
一、在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。
①HSI是高速内部时钟,RC振荡器,频率为8MHz。
②HSE是高速外...
-
在STM32里面有备份寄存器(BKP),它的功能之一就是用来存储RTC校验值的校验寄存器,即具有RTC校准功能。在PC13引脚上输出RTC 校准时钟,RTC闹钟或者秒脉冲。在程序中...
-
在USART的发送端有2个寄存器,一个是程序可以看到的USART_DR寄存器,另一个是程序看不到的移位寄存器,对应USART数据发送有两个标志,一个是TXE=发送数据寄...
-
因为一个项目中使用malloc函数动态分配内存400多个字节,返回为0,分配失败,查找失败原因,为堆空间不足分配导致。查看堆和栈分别设置了2K,按正常情况看应能满足分配...
-
Keil IDE的编译信息在工程文件夹的xx.map文件中,STM32的RAM分区从0x0200 0000开始,静态区、堆、栈。
所有的全局变量,包括静态变量之类的,全部存储在静...
-
DMA有什么用?
直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须...
-
前一段时间由于项目需要画了一个STM32F103的最小系统板,项目中需要很多硬件资源于是我将PB口作为独立按键输入口,板子打样回来后测试其...
-
STM32的库函数操作给设计开发人员带来了诸多的便利,开发人员不必十分了解STM32的内部寄存器及硬件机制,只要有C语言基础,即可完成单片机的开发,缩短了开发周期,降低了开发难度...
-
在IC工业中有许多不同的领域,IC设计者的特征也会有些不同。在A领域的一个好的IC设计者也许会花很长时间去熟悉B领域的知识。在我们职业生涯的开始,我们应该问我们自己一些问题,我们想...