《嵌入式C编程:PIC单片机和C编程技术与应用》一第2章常 量2.1 位、字节等
Embedded C Programming: Techniques and Applications of C and PIC MCUS
前面我们已经接触过一些简单的常量。在C语言中有多种定义常量的方法。有些情况下,可以用多种不同的方法表示同一个数字,而有时候又需要让常量本身来表达自己的类型(看到常量本身就直接能看出其类型)。“类型”将在下一章中详细介绍。类型规定了数据在内存中的组织形式。例如,一个数据占多少个字节(byte)。
2.1 位、字节等 2.1.1 位一个比特位(bit)在内存或者寄存器中可以有两种状态,“0”或“1”。
在数字电子中,可以很方便地用电信号表示两种状态:关和开、激活和未激活、低电平和高电平。这两种状态可以用“0”和“1”来表示(见图2-1)。
具体什么电压范围代表0和1取决于整个电路的逻辑电源电压以及整个芯片所用的逻辑电压(TTL、CMOS等)。我们可以规定0V代表逻辑0。图2-1中给出的是正逻辑,相反就是负逻辑。
![b81af2cd0f771d386865cf43172f15e4d87d7b83](https://yqfile.alicdn.com/b81af2cd0f771d386865cf43172f15e4d87d7b83.png)
2.1.2 半字节
半字节(nibble)表示4位,拥有16种状态。典型的半字节就是一个字节的高4位或者低4位(most significant或者least significant nibble)。
2.1.3 字节一个字节有8位,也就是通常所说的8位宽。8位微控制器一次可以将一个比特输出到8位宽的数据总线上。
2.1.4 内存大小通常用字节来描述内存大小。在不同机器上,内存的组织方式可能会有所不同,我们也用“字”来表示内存大小。对于PIC MCU来说,常用字节来表示RAM(随机访问内存)大小,而在程序内存(program memory)中用字来表示,因为程序内存的位宽可能是12、14、16,或者24位。
因为地址空间是二进制的,内存大小就可以用2的幂来表示。例如,用210来表示1024字节,而不是直接说1000字节。下面列出了表示内存的常用缩写:
1K = 1kilobyte = 1024字节
1M = 1megabyte = 1024×1024或者1?048?576字节
1G = 1gigabyte = 1024×1024×1024 或者1?073?741?824字节
单片机与嵌入式系统的区别 单片机和嵌入式linux区别 在如今高速发展的社会下,电子信息技术的更新迭代相当迅速,想要不被社会淘汰,就要不断更新自己的技术水平。本文简单分析了单片机与嵌入式系统的联系、组成结构对比等基础知识,并列举了几种适用于PIC18F系列单片机的几种嵌入式技术实时操作系统。
《嵌入式C编程:PIC单片机和C编程技术与应用》一导读 我们在各种地方都会发现微型计算机的踪影,如家用电器、玩具、汽车和计算机外设(如键盘或鼠标)。从电池充电器到雷达系统,几乎所有的电子设备中都有微型计算机的身影。
《嵌入式C编程:PIC单片机和C编程技术与应用》一3.6 测验 本节书摘来自华章出版社《嵌入式C编程:PIC单片机和C编程技术与应用》一书中的第3章,第3.6节,作者 [美]马克·西格斯蒙德(Mark Siegesmund),更多章节内容可以访问云栖社区“华章计算机”公众号查看 3.6 测验 将下列代码放入一个函数,将会发生什么事情? (a)程序将会延时5s (b)变量x被赋值为5 (c)第2行出现语法错误 (d)第3行出现语法错误 (e)什么都不会发生 在练习X3-6.c中,整个文件只使用了一个分号,显示了预编译器的强大功能。
相关文章
- 《安富莱嵌入式周报》第304期:开源硬件耳机设计,AI单片机STM32N6已确定为M55内核,另外还有新品STM32H5, H50X, H7R, H7S发布
- Atitit.嵌入式web 服务器 java android最佳实践
- 嵌入式linux开发,Qt,.pro文件中进行宏定义,以区分不同平台引用的三方库
- 嵌入式linux开发,交叉编译tslib时报错:libtoolize: $pkgltdldir not a directory: `/home/xteda/am335xt3/linux-devkit/
- 嵌入式linux开发,web服务相关依赖库libhv移植,libhv库移植
- 嵌入式linux开发,unix系统整体架构图
- 嵌入式linux开发,linux命令之rm
- 嵌入式linux开发,telnet,telnetd服务移植
- 嵌入式linux开发,rtc时钟探测报错:rtc-ds1307: probe of 1-0068 failed with error -5
- 嵌入式Linux开发,Ubuntu下交叉编译报错:error while loading shared libraries: libc++.so: cannot open shared objec
- 嵌入式linux开发,opencv移植,opencv-2.4.9移植,cmake-gui
- 嵌入式Linux开发,更换内核kernel开机画面LOGO—左上角小企鹅图标(分辨率为80*80)