找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机的程序定义谁帮我解释一下

[复制链接]
跳转到指定楼层
楼主
ID:72649 发表于 2021-12-13 21:40 来自手机 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
uchar sysmode=0;
__sbit fz1b = sysmode:0;
__sbit t0zd1b = sysmode:1;

uchar temp1r=0;

uchar jshi1r=0;

uchar js1r=0;
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:752974 发表于 2021-12-14 08:22 | 只看该作者
uchar:无符号字符类型;__sbit:这个不知道,可能要看使用的编译器。
回复

使用道具 举报

板凳
ID:86926 发表于 2021-12-14 09:00 | 只看该作者
__sbit fz1b = sysmode:0;是用sysmode的第0位做fz1b标志位,就是用sysmode的位来立一个flag,:1就是sysmode的第1位,以此类推,定义sysmode的第几位作为一个flag
回复

使用道具 举报

地板
ID:546770 发表于 2021-12-14 09:23 | 只看该作者
你这个uchar前面应该是有一行#define uchar unsigned char;语句的,这里是把uchar定义为unsigned char符号类型,所以后面的uchar=unsigned char(无符号字符类型),那个__sbit前面解释过了。
回复

使用道具 举报

5#
ID:887371 发表于 2021-12-14 09:46 | 只看该作者
本帖最后由 datouyuan 于 2021-12-14 09:56 编辑

uchar用于定义字节变量。类似于51mcu的sfr
__sbit 用于定义位变量。类似于51mcu的sbit

假如sysmode是51mcu的P0端口,那么fz1b为P00,t0zd1b为P01.

这种定义估计是用于microchip的单片机。义隆等mcu都是仿制microchip的。这种芯片有个特点是所有ram都能位访问.e而51只有很少的特定的ram才能位访问。

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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