最近在读代码的时候看到了这样一串代码:

uchar code DSY_CODE[] = {0x06,0x5b,0x77};

uchar就是unsigned char ,意思就是定义一个无符号字符型数据 8位数,,范围是 0-255 占用一个字节。
但是为什么会多出一个code呢?这个code的作用是什么呢?
正解: code的作用就是告诉单片机,定义的数据要放在ROM(程序存储区)里面,写入后就不能再更改,因为C语言中没办法详细描述存入的是ROM还是RAM(寄存器),所以在软件中添加了这一个语句起到代替汇编指令的作用,对应的还有data是存入RAM的意思。

ROM和RAM的区别这里就不详细介绍啦。

下面还有一些其他关键词的意思:
code :程序存储区(64KB),
data :可直接寻址的内部数据存储区(128B)
idata:不可直接寻址的内部数据存储区(256B)
bdata:可位寻址内部数据存储区(16B)
xdata:外部数据存储区(64KB)
pdata:分页的外部数据存储区

单片机C语言中关键词code的作用相关推荐

  1. 单片机c语言中延时函数的作用,单片机中C语言延时函数

    单片机C语言延时程序计算2009-11-02 22:15单片机C语言延时程序用C语言写出来程序非常的简练,它是一种模块化的语言,一种比汇编更高级的语言,但是就是这样一种语言也还是有它不足之处:它的延时 ...

  2. 单片机c语言左移的作用,[转载]单片机c语言中的左移右移

    单片机c语言中的左移右移 左移 变量1 << 变量2 将变量1的二进制位值向左移动由变量2所指定的位数. 例如: a = 0x8f; // 10001111 a << 2; / ...

  3. c语言中code table,unsigned char code table[]中的code的作用

    unsigned char code table[]中的code的作用是告诉单片机,我定义的无符号的字符串组放在ROM(程序存储区)里面,因为C语言中没办法详细描述存入的是ROM还是RAM(寄存器), ...

  4. 单片机C语言中的位运算符,单片机c语言教程第八课 运算符和表达式(位运算符)...

    学过汇编的朋友都知道汇编对位的处理能力是很强的,但是单片机C语言也能对运算对象进行按位操作,从而使单片机C语言也能具有一定的对硬件直接进行操作的能力.位运算符的作用是按位对变量进行运算,但是并不改变参 ...

  5. C语言中双感叹号的作用

    1.C语言中双感叹号的作用 (1)感叹号的作用:感叹号是逻辑运算符,表示逻辑非,也就是把真变成假,把假变成真: (2)在C语言中,0值表示假,非0值都是真,所以感叹号会把非0值变成0,而把0值变成1: ...

  6. 单片机c语言左移的作用,单片机c语言中的左移右移

    // 据说有些编译器采用逻辑右移,即左端补0 结果:a = 0xe3 (11100011) 1当左移移出的是"1"而不是0时,你该怎么想? 2 当左移的操作数是一个sign型是,你 ...

  7. c语言中的除号什么作用,c语言中除号用什么表示

    前言继承是OOP设计中的重要概念.在C++语言中,派生类继承基类有三种继承方式:私有继承(private).保护继承(protected)和公有继承(public).一.继承规则继承是C++中的重要特 ...

  8. 单片机c语言定义位,单片机C语言中位操作用法.pdf

    风行下载2012 正式版官方下载:/ C C 单片机的CC语言中位操作用法 作者:郭天祥 来源:转自 更新时间:2008-12-421:50:22 在对单处机进行编程的过程中,对位的操作是经常遇到的. ...

  9. 单片机c语言中的循环语句,单片机c语言教程:C51循环语句

    循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作.如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么就要执行 1000 次空语句 才能达到延时的目的( ...

  10. c语言中预处理指令的作用,C语言中常用预处理指令

    转载自 https://blog.csdn.net/farsight2009/article/details/58602886 姓名:张艳博 学号:17021223249 [嵌牛导读]: C语言中常用 ...

最新文章

  1. 索引与联合索引使用注意
  2. 笔记-高项案例题-2017年上-质量管理
  3. C# winform开发:Graphics、pictureBox同时画多个矩形
  4. 下列关于linux的进程,描述不正确的是,进程是资源管理的最小单位,2012年7月成人自考网络操作系统考试真题...
  5. step1 . day2:Linux系统基础知识
  6. Node环境的配置与安装(windows系统)(超详细)
  7. SAP CDS view里association和join的区别
  8. maven 父maven_Maven不会吮吸。 。 。 但是Maven文件会
  9. 689 Maximum Sum of 3 Non-Overlapping Subarrays
  10. oracle日期修改格式化,oracle日期格式化的实现
  11. Concepts in Games Development(游戏开发概述) 公开课笔记
  12. C语言 - printf的占位符(%) 异常
  13. 电源噪声(EMI)滤波器的基本原理与应用方法
  14. vue提交mutation_为什么Vuex中必须要通过commit提交mutation?
  15. get 和 post的区别
  16. [C/C++] C++中new的语法规则
  17. CUDNN下载速度慢解决方法
  18. 数据库MySQL数据查询---模糊查询(like和relike(或regexp))
  19. 长亭科技安服实习面试
  20. 【Linux】Linux环境基础开发工具的使用 ———(yum、vim、gccg++、gdb、make/Makefile、进度条 、git)

热门文章

  1. Win10卸载CUDA 10.2
  2. 51编写你值得注意的那些事
  3. 再深一点:如何给女朋友解释什么是微服务?
  4. 序列化-Kryo的使用详解
  5. 【SHOI2008】【BZOJ1023】cactus仙人掌图
  6. 虚幻AI蓝图基础笔记(万字整理)
  7. web网页设计实例作业——代码质量好-上海介绍(5页) HTML+CSS+JavaScript(含源码)
  8. 网上出售企业支付宝骗局,不看后悔
  9. cesium entity使用
  10. VMware 14 Pro 虚拟机下CentOS 7操作系统安装教程