嵌入式大杂烩
本博客内容会同步至我的微信公众号【嵌入式大杂烩】欢迎关注!关注并回复【1024】送你一份学习资料包!
【STM32笔记】使用STM32内部Flash额外的空间来存储数据 【STM32笔记】使用STM32内部Flash额外的空间来存储数据
大家周末愉快!本次分享关于STM32内部FLASH的笔记。 STM32 芯片内部的 FLASH 存储器,主要用于存储我们代码。如果内部FLASH存储完我们的代码还有剩余的空间,那么这些剩余的空间我们就可以利用起来,存储一些需要掉电保存的数据
2019-10-13
sizeof你真的弄明白了吗?来看看这个例子 sizeof你真的弄明白了吗?来看看这个例子
sizeof基础在C语言中,sizeof是一个操作符(operator),而不是函数!其用于判断数据类型或者表达式长度(所占的内存字节数)。其有两种表达形式: (1)sizeof(类型说明符) (2)sizeof 表达式 我们通常使用第
2019-10-09
【STM32笔记】两块STM32之间的SPI主从通信实例(附代码工程) 【STM32笔记】两块STM32之间的SPI主从通信实例(附代码工程)
之前分享过的SPI通讯实例:STM32硬件SPI主从通信,是基于一块STM32的两个SPI通讯。如果要进行两块STM32之间的SPI通讯,需要注意一些什么呢? 最近因为工作需要,要实现控制板之间的SPI通讯。两块STM32之间的SPI通讯平
2019-10-08
常见的几种AD滤波算法 常见的几种AD滤波算法
在进行AD采样时,常常都会对采样数据进行滤波,以达到更好一点的效果。下面分享几种较简单而常用的滤波算法: 限幅滤波法限幅滤波法又称程序判断滤波法 。该方法根据经验判断,确定两次采样允许的最大偏差值(设为 A)每次检测到新值时判断:如果本次值
2019-10-07
一道简单但易错的C语言面试题 一道简单但易错的C语言面试题
题目:分析以下代码,它的运行结果是? #include <stdio.h> int main(void) { int i = -1; if (i = 0) printf("i = %d\n", i
2019-09-30
【STM32笔记】复用时钟何时开启呢? 【STM32笔记】复用时钟何时开启呢?
STM32的AFIO时钟真的是在开启引脚复用功能的时候开启吗?其实并不是~ 什么是复用?我们知道,STM32有很多外设,这些外设的外部引脚都是与GPIO共用的。我们可以通过软件来配置引脚作为GPIO引脚还是作为外设引脚。当引脚配置为外设引脚
2019-09-26
把notepad++配置成一个能编译C代码的记事本 把notepad++配置成一个能编译C代码的记事本
前言本博客已经不只一次提过MinGW了,往期关于C语言方面的推文中,示例代码都是用Notepad++来编写,然后用MinGW中的gcc工具来编译。MinGW的配置及使用方法:【C语言笔记】使用notepad++、MinGW来开发C程序。Mi
2019-09-20
【STM32笔记】ISP下载的原理是什么? 【STM32笔记】ISP下载的原理是什么?
上一篇笔记分享了STM32的串口IAP实例:STM32串口IAP分享。其中,下载IAP程序时用ISP的方式进行下载。这里的ISP又是什么呢? ISP方式下载程序原理ISP:In System Programing,在系统中编程 在STM32
2019-09-17
【STM32笔记】串口IAP分享 【STM32笔记】串口IAP分享
什么是IAP?IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升
2019-09-16
易错、经典问题:return不可返回指向栈内存的指针 易错、经典问题:return不可返回指向栈内存的指针
预备知识:内存的分类C/C++程序占用的内存分为两大类:静态存储区与动态存储区。其示意图如下所示: 数据保存在静态存储区与动态存储区的区别就是:静态存储区在编译-链接阶段已经确定了,程序运行过程中不会变化,只有当程序退出的时候,静态存储区
2019-09-06
【RT-Thread笔记】内核对象模型 【RT-Thread笔记】内核对象模型
RT-Thread中的对象有哪些?RT-Thread包括了很多不同类型的对象,如线程,信号量,互斥量等。在代码中,这些对象被汇总到一个枚举中(在rtdef.h中): enum rt_object_class_type { RT_Ob
2019-09-01
C语言代码优化的一些经验及小技巧(四) C语言代码优化的一些经验及小技巧(四)
无限循环优先选用for(;;),而不是while(1)在C语言中,最常用的无限循环语句主要有两种:while(1)和for(;;)。从功能上讲, 这两种语句的效果完全一样。那么,我们究竟该选择哪一种呢? 其实,for(;;)语句运行速度要快
2019-08-30
2 / 10