嵌入式编程
主要以ARM为核心的嵌入式编程技术
「已注销」
这个作者很懒,什么都没留下…
展开
-
在 __CC_ARM 编译器环境下,使用$Sub$$ 与 $Super$$ 的“补丁”功能
$Sub$$ 与 $Super$$ 的“补丁”功能(详见ARM® Compiler v5.06 for µVision® armlink User Guide):这是一种特殊模式:用于有一个已经存在且不能被改变的函数的情况(比如不能更改的库函数);使用这两个模式可以帮原函数打补丁,如存在一个函数foo();$Sub$ $foo :定义的新功能函数,在foo()函数之前/后使用$Sub$ $foo 可以添加一些新的程序代码。$Super$ $foo :就是原始的未修补的foo函数,使用这个$Su.原创 2020-05-31 11:41:21 · 436 阅读 · 0 评论 -
数据在数组中存储的顺序:小端 OR 大端模式 详解
大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致。下面以一个32位数据存放在一个四字节数组中为例:数组:uint8_t Buf[4] ;数据:uint32_t val ...原创 2020-05-24 15:30:17 · 2690 阅读 · 0 评论 -
区分推挽输出和开漏输出
推挽输出:可以输出高,低电平,连接数字器件。输出 0 时,N-MOS 导通,P-MOS 高阻,输出0。输出 1 时,N-MOS 高阻,P-MOS 导通,输出1(不需要外部上拉电路)。开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).输出 0 时,N-MOS 导通,P-MOS 不被激活,输出0。输出 1 时,N-MOS 高阻,P-MOS 不被激活,输出1(需要外部上拉电路)开漏模式可以读IO输入...原创 2020-05-17 06:27:54 · 453 阅读 · 0 评论 -
Keil5生成bin文件
进入“Options for Target”设置界面如下:如图所示方框中输入: fromelf.exe --bin -o "[email protected]" "#L"生成的bin文件与axf文件在同一目录下。原创 2020-05-13 21:07:28 · 175 阅读 · 0 评论 -
ARM中 __IO的作用解析
__IO在头文件中预定义#define __IO volatilevolatile 影响编译器编译的结果, 指出:volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错。例如:__IO int i=10;int m = i;...int k = i;volatile(即__IO) 告诉编译器变量i是随时可能发生变化的,每次使...原创 2020-05-06 20:45:23 · 2232 阅读 · 0 评论