lzhttzh 发表于 2023-4-14 19:42:23

这样定义有没有问题?

这样定义有没有问题?
unsigned char bzhf sta;
sbit bz1=sta^7;
sbit bz2=sta^6;
sbit bz3=sta^5;
sbit bz4=sta^4;

kksk 发表于 2023-4-14 19:56:55

问题很大
sbit是用来定义sfr的位的,不能用来声明变量
对位的定义应该使用bit,但是这种声明似乎并不支持指定变量位置(或者是我不会)
感觉最合适的方法还是写一个宏来取变量的指定位

lzhttzh 发表于 2023-4-14 20:17:12

谢谢 kksk ,我现在需要声明一个变量,有7个功能,每一位表示一个功能的启动或者停止。也可以给变量赋值。
能给个例程吗?

lzhttzh 发表于 2023-4-14 20:28:33

kksk 发表于 2023-4-14 19:56
问题很大
sbit是用来定义sfr的位的,不能用来声明变量
对位的定义应该使用bit,但是这种声明似乎并不支持指 ...

谢谢 kksk ,我现在需要声明一个变量,有7个功能,每一位表示一个功能的启动或者停止。也可以给变量赋值。
能给个例程吗?

jwd 发表于 2023-4-14 20:40:55

本帖最后由 jwd 于 2023-4-14 20:44 编辑

lzhttzh 发表于 2023-4-14 20:28
谢谢 kksk ,我现在需要声明一个变量,有7个功能,每一位表示一个功能的启动或者停止。也可以给变量赋值。 ...
unsigned char bdata other_in;//此处other_in必须为bdata类型,否则编译出错
sbit mybit0=other_in^0;
sbit mybit1=other_in^1;
sbit mybit2=other_in^2;
sbit mybit3=other_in^3;
sbit mybit4=other_in^4;
sbit mybit5=other_in^5;
sbit mybit6=other_in^6;
sbit mybit7=other_in^7;

lzhttzh 发表于 2023-4-14 20:57:54

jwd 发表于 2023-4-14 20:40
unsigned char bdata other_in;//此处other_in必须为bdata类型,否则编译出错
sbit mybit0=other_in^0;
sb ...

谢谢{:4_196:}jwd    bdata类型选择问题。{:4_201:}{:4_201:}{:4_201:}

jwd 发表于 2023-4-14 21:08:28

lzhttzh 发表于 2023-4-14 20:57
谢谢jwd    bdata类型选择问题。

{:handshake:}

电子DIY小家 发表于 2023-4-17 10:21:42

除了楼上的bdata,也可以尝试联合结构体union,或者是直接位操作变量 (例如:dat & 0x01),方法不唯一{:lol:}可以多多尝试和了解

lzhttzh 发表于 2023-9-29 21:54:17

jwd 发表于 2023-4-14 20:40
unsigned char bdata other_in;//此处other_in必须为bdata类型,否则编译出错
sbit mybit0=other_in^0;
sb ...

请教老师,USB虚拟串口咋发送数据?

神农鼎 发表于 2023-9-30 09:16:45



超级简单的USB-CDC虚拟串口/就是串口 应用 及不停电下载-STC8H - USB:USB-CDC虚拟串口/就是串口,一箭双雕之USB转双串口,[鼠标+键盘]的HID复合设备 - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

页: [1] 2
查看完整版本: 这样定义有没有问题?