IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> C语言编程方式汇总及关键词综合 -> 正文阅读

[嵌入式]C语言编程方式汇总及关键词综合

C语言编程

结构体中的冒号(位域)

 struct A
{
char t:4;
char k:4;
unsigned short i:8;
unsigned long m;
}
sizeof(A) = 7;//考虑边界对齐,则为8;不考虑边界对齐,则为7
  • 所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的对象用一个字节的二进制位域来表示。

C51的关键字

  • at :变量定义存储空间绝对地址
  • alien :声明与PL/M51兼容的函数
  • bit :位类型
  • code :存储在ROM/外部存储空间Flash,不可修改,相对来说,const是存储在RAM,只是定义不可修改,在C51中作用薄弱 (程序存储区:64KB)
  • data :直接寻址的内部RAM(128B)
  • idata :间接寻址的内部RAM(256B)
  • xdata :外部RAM(64B)
  • bdata :可位寻址的内部RAM(16B)
  • pdata :分页寻址的外部RAM
  • compact :使用外部分页RAM的存储模式
  • interrupt :中断服务函数
  • large :使用外部RAM的存储模式
  • _priority_ :RTX51的任务优先级
  • reentrant :可重入函数
  • sbit :声明可位寻址的特殊功能位
  • sfr :8位的特殊功能寄存器
  • sfr16 :16位的特殊功能寄存器
  • small :内部RAM的存储格式
  • _task_ :实时任务函数
  • using :选择工作寄存组
    unsigned char code *a :RAM里的存储的指针,指向ROM里的变量
    code unsigned char *a :ROM里的存储的指针,指向RAM里的变量

C特殊关键字

  • volatile :易变的,可被隐性改变
  • register :与Auto对应,少量的寄存器变量,读取快,但是过多的就会多余的被转成Auto存储类型
  • goto :
    • goto label;

      label: …

边界对齐

K字节大小的数据必须要存储在K的整数倍的地址上

  1. 编译器按照结构体成员列表顺序给每个成员分配内存
  2. 当成员需要满足正确的边界对齐时,成员之间用额外字节填充
  3. 结构体的首地址必须满足结构体中边界对齐要求最为严格的数据类型所要求的首地址
    4.结构体的大小为其最宽数据类型的整数倍
  • 对于结构体,可能在存储字节间有空余,导致结构体整体变大
  • offsetof(type,member) :获取变量member对于type首地址的偏移量

大小端

大端存储:就是把一个数的低位字节序的内容存放到高地址处,高位字节序的内容存放在低地址处。
小端存储:就是把一个数的低位字节序的内容存放到低地址处,高位字节序的内容存放在高地址处。

  • 对于联合体有意义
  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-09-04 01:27:46  更:2022-09-04 01:32:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:25:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码