基础
流水石板路
物联网 机器人 自动控制 嵌入式
展开
-
flash操作复习
2- 写入数据前需要先擦除flash。flash擦除指令有扇区(4k)擦除(20h);32k块擦除(52h);64k块擦除(d8h);3- 读、写、擦除动作前需要读取总线是否忙;擦除整个芯片要在擦除前后判断总线忙,用于判断是否可以进行擦除、擦除是否完成。1- flash的也大小位256 byte,一次最多写一页大小的数据。具体代码、讲解参考金沙滩stm32资料:lesson6。以华邦W25Q128为例介绍。原创 2023-03-04 08:37:52 · 285 阅读 · 0 评论 -
SPI Flash为何需要24位地址线?
128M bit = 16M byte = 0X100 0000, 这样需要24位地址线就可以访问16M空间了。刚开始误以为flash时128M字节的大小,算了下128MB=0x800 0000, 地址线至少需要27位.由于现在的SPI 协议手册里都是24位地址线宽度,就限制了flash的最大存储容量只能是16M。以W25Q128 flash为例,芯片手册规定对于flash的读写地址长度位24bit。后来发现芯片手册里写的flash容量是128M bit。原创 2023-03-04 08:28:39 · 1273 阅读 · 0 评论 -
crc校验--转载
上面的两个帖子,写的很好。转载 2022-12-27 11:46:35 · 118 阅读 · 0 评论 -
数组用法易错点
数组用法易错点原创 2022-11-06 12:20:08 · 284 阅读 · 0 评论 -
架构简洁之道读书笔记--第四部分组件构间原则
对于上述情景,我们的解决办法是将研发项目划分为一些可单独发布的组件,这些组件可以交由单人或者某一组程序员来独立完成。当有人或团队完成某个组件的某个版本时,他们就会通过发布机制通知其他程序员,并给该组件打一个版本号,放入一个共享目录。这样一来,每个人都可以依赖于这些组件公开发布的版本来进行开发,而组件开发者则可以继续去修改自己的私有版本。每当一个组件发布新版本时,...原创 2022-07-25 17:23:32 · 369 阅读 · 0 评论 -
类图基础--转载
类图详解_爱书不爱输的程序猿的博客-CSDN博客_类图转载 2022-07-25 09:41:25 · 79 阅读 · 0 评论 -
ioremap存在的意义--转载
CPU不能直接访问物理地址,如果要访问外设寄存器需要将寄存器地址进行映射成虚拟地址后才能访问。参考:ioremap原理2021-06-03 15:28:29 · 100 阅读 · 0 评论 -
乘法和左移关系
参考:https://blog.csdn.net/newbird105/article/details/45332621转载 2021-05-12 21:47:39 · 1539 阅读 · 0 评论 -
SPI通讯--宋雪松
CPOL: Clock Polarity,就是时钟的极性。时钟的极性是什么概念呢?通信的整个过程分为空闲时刻和通信时刻, 如果 SCLK 在数据发送之前和之后的空闲状态是高电平, 那么就是CPOL=1,如果空闲状态 SCLK 是低电平,那么就是 CPOL=0。CPHA: Clock Phase,就是时钟的相位。CPHA=1,就表示数据的输出是在一个时钟周期的第一个沿上,至于这个沿是上升沿还是下降沿,这要视 CPOL 的值而定, CPOL=1 那就是下降沿,反之就是上升沿。那么数据的采样自然就是在第二原创 2021-04-01 23:24:50 · 203 阅读 · 0 评论 -
netsh interface portproxy实现端口映射
参考:https://blog.csdn.net/hx7013/article/details/79786407http://www.mayanpeng.cn/archives/98.htmlhttps://blog.csdn.net/u013600225/article/details/52088196原创 2021-02-05 17:40:19 · 451 阅读 · 0 评论 -
c语言0减1问题
针对此问题不甚理解。。。ubuntu环境测试:1- unsigned i=0; i-1 = -1 i>02-int i=0; i-1=-1 i<03- unsigned char i=0i-1 =255;i>04- char i=0;i-1=255i<0i<0...原创 2019-12-06 23:18:10 · 1729 阅读 · 0 评论 -
内存池概述
原文链接:https://blog.csdn.net/xiaohaizi77881314/article/details/11668057总结:1-使用malloc()方式容易造成一系列问题,如使用越界,内存泄漏、内存碎片等2- 为了解决上述问题,使用内存池方式。简单来说就是先申请一大块内存(内存池),这一大块内存可包含一系列基本单元不同的块。例:我一次性申请了一大块内存,基本单元32...转载 2019-09-06 16:02:10 · 425 阅读 · 0 评论 -
物理内存 虚拟内存
参考:https://blog.csdn.net/patkritLee/article/details/52176765总结:物理内存:可以理解为内存条大小虚拟内存:是进程运行时所需要的内存大小总和,和实际的内存条没有对应关系。这个虚拟内存大小可能远大于实际的内存条大小。对虚拟内存进行分页,每个基础单元称为页;对物理内存分页,每个基础单元称为页帧。页和页帧的基础单元大小是相等的。在计算机中...转载 2019-09-05 15:12:49 · 181 阅读 · 0 评论 -
关于内存映射、内存重映射等概念理解
大家直接看这篇帖子就好了,写到不错,我只是总结了下,有可能理解的有问题。。。参考博客:https://blog.csdn.net/songjinshi/article/details/6760708总结:地址映射就是cpu对存储器件进行编址,以便可以准确的读取某一地址上的数据。地址映射是在上电是进行的,下电后这种编址将不复存在。重映射是将之前的编址重新映射,即重新编址。是为了解决非易失...转载 2019-09-05 14:33:13 · 1921 阅读 · 0 评论