![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式
文章平均质量分 85
Somnus陳
有梦想谁都了不起...
展开
-
二维数组与二级指针
二维数组是数组的数组,二级指针是指针的指针,那么他们有哪些相关联的地方呢?原创 2022-10-23 18:43:37 · 623 阅读 · 0 评论 -
SOLID五大原则【图解】
做C语言开发的应该都知道,C是面向过程开发的,而c++是面向对象开发的。而封装、继承与多态是面向对象开发的三大特征。但你可能不知道OOD(Object-Oriented Design)还有五大基本原则,被Bob大叔称为SOLID原则,字母为每个原则的首字母,遵循这些原则能够让你的代码在扩展性、维护性以及重用性提高。而这些不正是我们所追求的吗?......原创 2022-07-28 22:28:52 · 3834 阅读 · 0 评论 -
C语言结构体struct详解
在实际的开发过程中,一组数据往往具有不同的数据类型,此时数组是不能够满足需求了。因为数组中各元素的类型必须是一致的。为了解决这个需求,C中给出了另一种数据类型-结构体,每一个成员可以是任意一种数据类型...原创 2022-07-25 22:12:40 · 3323 阅读 · 0 评论 -
两种存储器,三种内存大小,六段段
Flash Memory(闪速存储器)是一种安全、快速的存储体,具有体积小、容量大、成本低、掉电不丢失等一系列优点,已成为嵌入式系统中数据和程序最主要的载体。Flash是,即在物理结构上分成若干个物理块,区块之间相互独立。Flash写操作必须,Flash只能将数据位由1写成0,不能从0写成1,所以在对存储器写之前必须先执行擦除操作,擦操作的最小单位是一个区块,而不是一个字节。RAM(Random Access Memory)又称随机存取存储器,也叫内存,是与CPU直接交换数据的内部存储器。速度很快,断电RA原创 2022-07-10 10:36:22 · 183 阅读 · 0 评论 -
如何有效取余,非%不可吗?
在编写程序过程中,通常会对对某些数据进行取余操作,这个时候我们通常都会用到%运算符,但是除了%就不能用其它方法吗?答案是有的,而且执行效率也比使用%高,但是使用起来会有一些条件限制。接下来我们就以6对4取余来分析,测试环境为Keil和STM32。下图为使用%求余过程由此可见,除了第一次将初值6赋值为r1寄存器,在对4求余的过程中,使用了MOV、ADD、SUB以及ASR共5次汇编指令。下面也给出了每个汇编指令的表达式,最右侧有注释,有兴趣的可以看下 4: int原创 2022-04-10 11:27:26 · 2065 阅读 · 0 评论 -
ARM汇编STM&LDM知多少?
前述在日常编写Bug的时候,不知是否经过这样一种情况,我明明只是在函数中多加了一个临时变量,结果程序执行就异常了。我屮艸芔茻...我碰到的一次情况是该函数程序访问数组本来就越界了,但是还能正常工作,就因为加了一个临时变量,栈内容发生了变化,就因为一个变量的偏移,在对数组操作时刚好设置给了LR寄存器,导致子程序返回有误,程序执行逻辑异常。上述的这种问题,常规调试是无法发现的,甚至问题出现在那个地方都定位不到。都说汇编代码时程序员的最后一根救命稻草。接下来就来介绍一下汇编中最常用的STM/LD.原创 2022-04-07 21:14:41 · 2323 阅读 · 0 评论 -
Keil断点进阶用法,不看后悔
目录1、前序2、断点简介2.1、exp2.2、cnt2.3、cmd3、表达式(exp)3.1、ExecName3.2、Path3.3、Module3.4、Identifier4、命令(cmd)5、 设置断点方式5.1、手动设置断点5.2、观察窗中设置断点5.3、命令窗中设置断点6、文中问题6.1、变量何时改变的?6.2、变量被改变了多少次才出现的问题?6.3、当这个变量被设置成某个数据后,我想让程序暂停下来继续分析...原创 2022-03-23 19:57:07 · 5449 阅读 · 0 评论 -
UC/OS-II 源码下载【资源】
µC/OS-II 如何在官网下载,以及STM32的示例代码。原创 2022-02-26 18:12:41 · 3774 阅读 · 2 评论 -
UC/OS三种临界区管理机制
UC/OS三种临界区管理机制原创 2022-02-26 09:51:58 · 1227 阅读 · 0 评论