- 博客(10)
- 资源 (3)
- 收藏
- 关注
原创 STM32的堆与栈
声明:博文内容有参考其它牛人的博客或资料,参考均已在最后列出。 上一篇博客解决了因为堆栈的设置空间不够而引发的“命案”,这次我们就来看看它的“杀人动机”。首先我们来认识一下堆与栈的含义():(1)栈区(stack):由编译器自动分配和释放,存放函数的参数值、局部变量的值等,其操作方式类似于数据结构中的栈。(2)堆区(heap):一般由程序员分配和
2017-06-21 09:19:15 799
转载 数据段、代码段、堆栈段、BSS段的区别
转自博客:http://blog.csdn.net/jxhui23/article/details/80647665个数据段 进程(执行的程序)会占用一定数量的内存,它或是用来存放从磁盘载入的程序代码,或是存放取自用户输入的数据等等。不过进程对这些内存的管理方式因内存用途 不一而不尽相同,有些内存是事先静态分配和统一回收的,而有些却是按需要动态分配和回收的。
2017-06-21 10:42:41 329
原创 STM32 的SPI读写函数解析
//SPIx 读写一个字节//TxData:要写入的字节//返回值:读取到的字节u8 SPIx_ReadWriteByte(u8 TxData){ while((SPI1->SR&(1 SPI1-
2017-06-21 09:25:03 24374 7
原创 RO段、RW段、ZI段
博文参考均已在文末列出RO段、RW段和ZI段 要了解RO,RW和ZI需要首先了解以下知识:ARM程序的组成 此处所说的“ARM程序”是指在ARM系统中正在执行的程序,而非保存在ROM中的bin映像(image)文件,这一点清注意区别。 一个ARM程序包含3部分:RO,RW和ZI
2017-06-21 09:22:28 513
原创 stm32的Core_cm3.c文件
博文参考了其它博客或资料,均已在最后列出。 上一章提到了对于stm32的堆栈的研究。实际上在查询资料时,看到有大神提到可以获取栈的指针。因为一般要验证都是存在栈溢出的问题,把他贴出来供大家研究。(我没有实际验证)void HardFault_Handler(void) { uint32_t r_sp ; r_sp = __get_PSP(); //
2017-06-21 09:20:51 1904
原创 STM32程序下载成功但是不运行
调试stm32程序,发现如下问题: STM32编写程序,当程序中没有sd卡部分时,程序正常下载,正常运行。当程序中运行sd卡加文件系统时程序能正常下载但是不能正常的运行。发现问题就要解决问题呀,好了大家一起来和我解决问题吧!根据自己问题,上网查找解决办法,最终将问题锁定在堆栈设置问题上。(堆栈设置的空间不够大)解决办法:在stm32的程序目录下查找STM32
2017-06-21 09:15:49 36218 1
原创 三相四线与漏电保护器
关于三相四线制三相四线制,在低压配电网中,输电线路一般采用三相四线制,其中三条线路分别代表A,B,C三相,另一条是中性线N(如果该回路电源侧的中性点接地,则中性线也称为零线(老式叫法,应逐渐避免,改称PEN,如果不接地,则从严格意义上来说,中性线不能称为零线)。在进入用户的单相输电线路中,有两条线,一条我们称为相线L,另一条我们称为中线N,中线正常情况下要通过电流以构成单相线路中电流的回路。而
2017-06-19 10:03:35 2449
转载 linux中makefile里的$(@:_config=)的解释
研究makefile中遇到$(@:_config=),上网查询,看到的很好的博客,转载一波原文地址:http://blog.sina.com.cn/s/blog_89fa41ef0100t6bj.html1. $(@:_config=)什么意思?网上查到如下解释这里使用了Makefile中的替换引用规则,类似常看到的例子 obj=$(srcfiles:%.c=%.o
2017-06-18 12:07:35 2230
原创 电磁干扰的耦合途径
博客原文:http://blog.sina.com.cn/s/blog_530252a20100l74n.html1、传导耦合 导线经过有干扰的环境,即拾取干扰信号并经导线传导到电路而造成对电路的干扰,称为传导耦合,或者叫直接耦合。 在音频和低频的时候 由于电源线、接地导体、电缆的屏蔽层呈现低阻抗,故电流注入这些导体时容易传播,当噪声传导到其他敏感电路的时候,就能产生干扰作
2017-06-16 16:41:22 6211
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人