找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 11853|回复: 19
打印 上一主题 下一主题
收起左侧

单片机程序开头的uint,uchar,ulong这些变量定义和赋值语句是什么意识?

  [复制链接]
跳转到指定楼层
楼主
ID:381329 发表于 2018-8-10 11:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
作为一个单片机自学者,想求大家帮助解答一下,不懂下面这些程序代码的意思.
是一个关于电子秤的程序:
int weight;
uchar num,s=5;
ulong ad_data=0;
ulong cost=0, total = 0;
ulong price=0;
uchar flag_ok=0;  //ok键的按键次数
uchar pi=0;
uchar flag_dian=0,dian=1;  //小数点的位数,和小数点标志
uchar flag_dian_all=0;
uchar dian_max=1;  //最大的点的位数
uchar flag_jian=0;
uchar cha=0, flag_jia=0, flag_jian;
uchar code str0[]={"Weight:    g   "};
uchar code str1[]={"cost:        "};
uchar code str2[]={"Price:    "};
uchar code str3[]={"Iotal:  "};
uchar code table1[]={"0123456789"};
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

来自 2#
ID:52586 发表于 2018-8-10 17:25 | 只看该作者
int weight;   // 这句是定义了一个变量,整数类型,字面意思表示重量,表示重量的数值保存到这这个变量里
uchar num,s=5;   // 这句是定义了两个变量,无符号字符类型, num 和 s, num 一般表示数量, s 不知道。
ulong ad_data=0;   // 这句定义了一个变量,无符号长整数类型, ad_data, 字面意思表示 模数转换后的数值保存在这个变量里
ulong cost=0, total = 0;  // 这句定义了一个两个变量, 无符号长整数类型,cost 一般表示 花费, total 一般表示 总数
ulong price=0;  // 这句定义了一个变量,无符号长整数类型, price 一般表示 价格
uchar flag_ok=0;  //ok键的按键次数  // 这句是定义了一个变量,无符号字符类型
uchar pi=0;  // 这句是定义了一个变量,无符号字符类型
uchar flag_dian=0,dian=1;  //小数点的位数,和小数点标志   // 这句是定义了两个变量,无符号字符类型
uchar flag_dian_all=0;   // 这句是定义了一个变量,无符号字符类型
uchar dian_max=1;  //最大的点的位数   // 这句是定义了一个变量,无符号字符类型
uchar flag_jian=0;  // 这句是定义了一个变量,无符号字符类型
uchar cha=0, flag_jia=0, flag_jian;   // 这句是定义了三个变量,无符号字符类型
uchar code str0[]={"Weight:    g   "};  // 这句是定义了一个字符数组,保存在程序区
uchar code str1[]={"cost:        "};    // 这句是定义了一个字符数组,保存在程序区
uchar code str2[]={"Price:    "};    // 这句是定义了一个字符数组,保存在程序区
uchar code str3[]={"Iotal:  "};    // 这句是定义了一个字符数组,保存在程序区
uchar code table1[]={"0123456789"};    // 这句是定义了一个字符数组,保存在程序区

评分

参与人数 3黑币 +128 收起 理由
NPC-1024 + 8 很给力!
yousunny + 20 很给力!
admin + 100 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:384958 发表于 2018-8-10 13:21 | 只看该作者
这不都是定义的变量然后初始化了......
回复

使用道具 举报

地板
ID:295874 发表于 2018-8-10 13:22 | 只看该作者
就是程序变量类型申明、定义、赋初值;
回复

使用道具 举报

5#
ID:347467 发表于 2018-8-10 13:22 | 只看该作者
这些不是变量定义和赋值吗?
回复

使用道具 举报

6#
ID:384969 发表于 2018-8-10 14:06 | 只看该作者
变量类型申明、定义、赋初值;
回复

使用道具 举报

7#
ID:384970 发表于 2018-8-10 14:15 | 只看该作者
就是变量定义和赋值a
回复

使用道具 举报

8#
ID:245266 发表于 2018-8-10 17:29 | 只看该作者
一段初始化程序
回复

使用道具 举报

9#
ID:385073 发表于 2018-8-10 17:35 | 只看该作者
变量定义和宏定义
回复

使用道具 举报

10#
ID:385081 发表于 2018-8-10 17:46 | 只看该作者

变量定义和宏定义
回复

使用道具 举报

11#
ID:155507 发表于 2018-8-11 13:45 | 只看该作者
在单片机里
#define uchar unsigned char 与
#define uint unsigned int 与
#define ulong unsigned long
的区别或作用
是宏定义。就是说接下来程序你用到uchar或是uint就是表示unsigned char和unsigned int ,简单的说就是可以简化了。uchar uint是数据类型,
uchar表示无符号字节
uint表示无符号整形数
uchar,uint这种的,就是无符号,如果你处理的数据,不带符号,就可以用这两个。在一个,你得看你处理的数值范围,uint范围肯定比uchar大。

uchar是8位的,占一个寄存器,  无符号字符型,范围(0-255)
uint是16位,    占2个寄存器,   无符号整型 范围(0-65,535)
ulong是32位, 占4个寄存器,   无符号整型 范围(0-4,294,967,296)
所以在编译的时候INT型的代码多一些
在XDATA中KEIL的默认编译是CHAR型也占2个寄存器所以相差就不多了
在工程中是要考虑寄存器的和运行时效的 所以能省则省喽
回复

使用道具 举报

12#
ID:308437 发表于 2018-8-12 16:40 | 只看该作者
聆烟雨 发表于 2018-8-10 17:25
int weight;   // 这句是定义了一个变量,整数类型,字面意思表示重量,表示重量的数值保存到这这个变量里
...

这位仁兄真的厉害
回复

使用道具 举报

13#
ID:385531 发表于 2018-8-12 17:22 | 只看该作者
这些都是定义了无符号的变量啊
回复

使用道具 举报

14#
ID:385645 发表于 2018-8-13 09:25 | 只看该作者
定义程序中要用到的变量,并初始化赋初值
回复

使用道具 举报

15#
ID:385318 发表于 2018-8-20 10:02 | 只看该作者
u是无符的意思
回复

使用道具 举报

16#
ID:388083 发表于 2018-8-20 12:22 | 只看该作者

定义程序中要用到的变量,并初始化赋初值
回复

使用道具 举报

17#
ID:388125 发表于 2018-8-20 14:37 | 只看该作者
代表变量定义和赋值,uchar 代表定义无符号字节变量 ulong代表定义无符号长整型变量 int 代表定义整型变量  这些都是定义某个变量的数值长度。uchar code str0[] 代表定义字符数组,并且该数组放置在数据存储区,而不是ram中。
回复

使用道具 举报

18#
ID:387852 发表于 2018-8-20 15:34 | 只看该作者
带u的是无符号变量,unsigned的意思,比如char表示的范围是-128-127,uchar的范围则是0-255
回复

使用道具 举报

19#
ID:388178 发表于 2018-8-20 15:47 | 只看该作者
是自己定义的
#define uchar unsigned char
#define uint unsigned int
#define ulong unsigned long
回复

使用道具 举报

20#
ID:387920 发表于 2018-8-20 16:01 | 只看该作者
宏定义
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表