samdcn 发表于 2024-8-10 09:37:11

请问大家是如何对不同引脚复用相同的方法过程?

c51不支持数组定义sbit, 所以对不同引脚调用同一过程难道我要写多个过程
这下面是举例是不行,编译不了
#define NUM_CS5530 2 // 定义CS5530芯片的数量

sbit cs5530_clk = {P0^5, P1^5}; // 定义多片CS5530的clk引脚
sbit cs5530_cs = {P0^6, P1^6}; // 定义多片CS5530的cs引脚
sbit cs5530_sdi = {P0^7, P1^7}; // 定义多片CS5530的sdi引脚
sbit cs5530_sdo = {P0^4, P1^4}; // 定义多片CS5530的sdo引脚


u8 cs5530_read(u8 chipIndex)
{   u8 ad_number;
    cs5530_cs=0;
...
    cs5530_cs=1;

   return ad_number;
}

这个是怎么写比较好比较优雅

DebugLab 发表于 2024-8-10 10:16:14

sbit只能是SFR的

soma 发表于 2024-8-10 10:59:09

sbit定义数组不可能吧

zhange 发表于 2024-8-10 11:39:43

{:4_168:}{:4_168:}{:4_168:}

xxxevery 发表于 2024-8-10 11:58:30

就是,行不通就换一种方法,别跟编译器对着干,封装成函数不也是一样一样的
页: [1]
查看完整版本: 请问大家是如何对不同引脚复用相同的方法过程?