munuc_w 发表于 2021-7-28 15:00 好的,好的,有思路了,非常感谢 |
开心就好hhhh 发表于 2021-7-28 13:06 很简单的函数,在原函数里只是增加一个决定片选的形参,由这个参数决定片选信号即可,如: xxx(xxx,xxx,xCS) { if(xCS==1) cs1=0; else if(xCS==2) cs2=0; else if(xCS==3) cs3=0; //下面就是原来的函数,写入地址,写入数据 。。。。 } 注意退出函数前各个使用的CS信号要拉高。 |
munuc_w 发表于 2021-7-28 12:43 是的是的,我就是想写一个这样的,但是没有写过,就不知道该怎么写,我想参照32的库函数来着,但是感觉又不一样,大佬能不能提点一下?谢谢 |
开心就好hhhh 发表于 2021-7-28 11:01 我以前也遇到过你的情况,要写好多函数,内容一样,就是IO分配不同。后来整合到一个函数里,函数增加一个形参,由形参决定片选,用于区别不同的驱动芯片。 |
munuc_w 发表于 2021-7-28 08:50 我就是用了三个数码管驱动芯片,所以才希望将代码写的更简洁一点 |
开心就好hhhh 发表于 2021-7-27 15:52 选用具有片选信号的数码管驱动器,如TA6932,DIO和CLK共用,数据流向由片选信号控制。 |
typedef struct { uint16_t GPIO_Pin; /*!< Specifies the GPIO pins to be configured. This parameter can be any value of @ref GPIO_pins_define */ GPIOSpeed_TypeDef GPIO_Speed; /*!< Specifies the speed for the selected pins. This parameter can be a value of @ref GPIOSpeed_TypeDef */ GPIOMode_TypeDef GPIO_Mode; /*!< Specifies the operating mode for the selected pins. This parameter can be a value of @ref GPIOMode_TypeDef */ }GPIO_InitTypeDef; |
看st的库函数封装API或者NXP的封装 |
51中的位操作已经做不能再简单了,不知楼主想如何操作。 |
看一下STM32的库函数例程就清楚了。 |
gain 发表于 2021-7-23 18:33 这个头文件里有P1,P2等的地址,但是没有看到P1^1之类的具体地址,感谢回答 |
开心就好hhhh 发表于 2021-7-23 15:41 地址都在reg51.h这个文件里有声明 |
yzwzfyz 发表于 2021-7-23 17:19 我知道大概意思,但是不知如何操作,感谢回答 |
就象做乘法一样,提取公因式。 将公共部门做成子程序,不同部分做成参数变量。 |
黄youhui 发表于 2021-7-23 15:24 可是io口的地址不知道呢怎么办,比如说P1^1这样子,我该怎么用呢 |
有啊,结构体内成员可以是函数,就是指针。 |