![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式C语言
盛气凌人666
这个作者很懒,什么都没留下…
展开
-
等精度测频
记录一种检测时间短且精度要求高的频率测量方式原创 2021-06-03 11:04:33 · 626 阅读 · 0 评论 -
ProtoBuf编码原理
背景Protobuf是我们在网络传输中经常会用到的协议,优点是版本间兼容性强,对数据序列化时的极致压缩使得Protobuf包体积比xml、json等格式要小很多,节约流量。对于pb协议的具体使用方法,其官网有比较详细的说明,本文不再详述。我们的数据不管在代码中是什么复杂结构体,传输时都要序列化成二进制串。官网中也介绍了Protobuf的序列化算法,不过给的例子比较简单,学习起来不够直观。因此,本文用一个较为完整的例子直观展示一下Protobuf的序列化,一个例子即可搞懂Protobuf的序列化算法。一个转载 2020-08-24 11:22:27 · 1238 阅读 · 0 评论 -
嵌入式C语言(三)
五、基地址、偏移地址和模块内寄存器地址分布随着嵌入式芯片的飞速发展,现在一个普通的MCU内部往往包含着几十个乃至上百个外设模块,包还常用的Gpio,各种定时器,IIC、SPI等通讯模组,如何高效的部署和管理成百上千的寄存器就变得尤为重要。如上图所示,同通常我们根据芯片的参考手册来部署寄存器地址采用的是基地址+地址偏移量的方式。首先根据具体MCU内核提供的预定义寄存器映射,我们可以找到外设寄存...原创 2020-04-08 13:51:15 · 261 阅读 · 0 评论 -
嵌入式C语言(二)
二、.h文件的作用在分析.h文件作用前先要么明确一个基本概念,在C语言中调用任意一个函数都必须是先有其定义或声明,随着整个工程越来越庞大实现对所有函数的分类管理变得很有必要,于是我们按照函数间的关联度将所有函数分割为若干的.c文件并把对应的函数声明包含在.h文件中。调用库文件内容要用#include <XXX.h>自己定义的库文件要用#include “XXX.h”具体的.h文...原创 2020-04-07 14:25:27 · 573 阅读 · 0 评论 -
嵌入式C语言(一)
一、关键字很多的C语言教材都是这针对面向计算机编程,因此很多时候忽略了一些不常用的关键字的讲解,而在嵌入式中往往会看到很多不常用的关键字,值得我们去进一步理解。1、register和auto在计算机中CPU的运算速度最快,现在都达到3GHZ左右,而相对应的存储器速度却相对慢很多,访问速度最快的寄存器和缓存,由于其体积又大,不适合大容量的使用,所以只能二者相接合的方式来提高效率。程序代码保存在...原创 2020-04-06 23:01:01 · 344 阅读 · 0 评论