一直有一个疑惑,为什么Stm32的每个模块基本上都有一个DeInit()函数。这个函数是否和Init()函数在功能上重复了。查过一部分资料以后,发现有以下的说法:
我遇到的情况是程序好好的突然进入不了mAIn,停在了LDR R0, =SystemInit,而且全速运行无效。突然不行,有可能是硬件坏了,也有可能最近有某些错误操作了...
最近调试一段代码,发现一个很奇怪的现象,有一个函数放在一个位置,代码的执行结果是正确的。如果放在其他地方就会出现问题,同样的一个函数,为什么会出现这样的差距呢?
看到这里,或许很...
在I2C程序中,很多时候使用while来判断状态是否发生改变。正常情况下,这个是很合适的。使用while,即做到了检测也起到了延时的作用,比单纯的计数延时要好的多。
但是如果...
芯片:STM32F103CBT6
IDE:Keil
调试器:J-Link
操作系统:uCOS
从一开始怀疑硬件问题,到最后定义到内存错误的思路,
有些思维...
每个STM32的参考程序中都会见到以下的函数
/* Enable Prefetch Buffer */ FLASH_P...
用KEIL MDK uVision4,如下程序,GPS_flg 是一个全局变量,当有GPS数据时就会中断被置1,结果我在while(1)外面判断GPS_flg就始终为0,进入死循环...
一、推挽输出:可以输出高、低电平,连接数字器件;推挽结构一般是指两个三极管分别受两个互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。
...
我们写嵌入式程序,基本上采用C语言来编写,以mAIn( )作为程序的入口。但实际上,mian()并不是最先要执行的,在这之前需要做一些基本的工作,如堆、栈的定义;mAI...
STM32的库函数操作给设计开发人员带来了诸多的便利,开发人员不必十分了解STM32的内部寄存器及硬件机制,只要有C语言基础,即可完成单片机的开发,缩短了开发周期,降低了开发难度,...
STM32软件复位(基于库文件V3.5)
void SoftReset(void)
{
__set_FAULTMASK(1); // 关闭所有中端
NVIC_SystemR...
STM32F10xxx有三中低功耗模式:
●睡眠模式(Cortex?-M3内核停止,外设仍在运行)
●停止模式(所有的时钟都以停止)
●待机模式(1.8V电源关闭)
时钟频...
一、在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。
①HSI是高速内部时钟,RC振荡器,频率为8MHz。
②HSE是高速外...
在STM32里面有备份寄存器(BKP),它的功能之一就是用来存储RTC校验值的校验寄存器,即具有RTC校准功能。在PC13引脚上输出RTC 校准时钟,RTC闹钟或者秒脉冲。在程序中...
因为一个项目中使用malloc函数动态分配内存400多个字节,返回为0,分配失败,查找失败原因,为堆空间不足分配导致。查看堆和栈分别设置了2K,按正常情况看应能满足分配...
Keil IDE的编译信息在工程文件夹的xx.map文件中,STM32的RAM分区从0x0200 0000开始,静态区、堆、栈。
所有的全局变量,包括静态变量之类的,全部存储在静...
STM32的库函数操作给设计开发人员带来了诸多的便利,开发人员不必十分了解STM32的内部寄存器及硬件机制,只要有C语言基础,即可完成单片机的开发,缩短了开发周期,降低了开发难度...
本文适合学过LCD显示,但是不是很理解的同学,博主用的是战舰STM32
本篇文章博主将和大家讨论三个主题:FSMC有关配置、一串字符显示原理、汉字显示原理。。下面进入正题&r...
相当部分的 STM32芯片都带USB模块,有时我们会考虑利用STM32芯片的USB模块进行程序代码的下载或升级。USB协议中有专...