![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C
C语言相关
fanofOMG
山君随月
展开
-
C语言位操作之三
1、给定一个整型数a,设置a的bit3,保证其他位不变。a = a | (1<<3) 或者 a |=(1<<3)2、给定一个整型数a,设置a的bit3~bit7,保证其他位不变。a = a | (0b11111<<3) 或者 a |= (0x1f<<3)3、给定一个整型数a,清楚a的bit3~bit7,保证其他位不变...原创 2020-02-18 18:38:58 · 1100 阅读 · 0 评论 -
C语言位操作之二
1、寄存器操作(1)ARM是内存与IO统一编址的,ARM中有很多内部外设,SoC中CPU通过向这些了内部外设的寄存器写入一些特定的值来操控这个内部外设,进而操控硬件动作。所以读写寄存器就是操控硬件。(2)寄存器的特点是按位进行规划和使用。但是寄存器的读写是整体进行的,只想修改其中的几位是不可以的,必须整体写入。(3)寄存器操作的要求:在设定特定位的时候不能影响其他位。...原创 2020-02-18 12:20:56 · 269 阅读 · 0 评论 -
C语言位操作之一
常用位操作符1、位与 &(注:两个&是逻辑与,一个&才是位与)位与和逻辑与的区别:位与时两个操作数是按照二进制位批次对应位相与的,逻辑与是两个操作数作为整体来相与的。(例:0xAA&0xF0=0xA0,0xAA&&0xF0=1)特点:(任何数,其实就是1或者0)与1位与无变化,与0位与变成0。2、位或|(注:两个|是逻辑或,一个|...原创 2020-02-17 23:25:52 · 652 阅读 · 0 评论 -
C语言之内存
1、计算机程序=代码+数据冯诺依曼结构:数据和代码放在一起(C语言中代码其实就是函数,数据就是变量)。哈佛结构:数据和代码分开存在。例:linux系统中,代码和数据都在DRAM中,这就是冯诺依曼结构。而单片机中,代码在Flash中,数据在RAM中,这就是哈佛结构。2、内存分动态内存(DRAM)和静态内存(SRAM)是用来存储可变数据的,即变量。(也有例外:gcc中常量也存在...原创 2020-02-17 19:41:06 · 507 阅读 · 0 评论