GPIO口 整合使用 求大侠、前辈指教
时间:10-02
整理:3721RD
点击:
不同的IO口怎么能 整合在一个Byte 操作? 比如;A口1脚、B口2脚、C口3脚等等。我需要把8个IO口整合在一起来操作(假设命名为NewPin,以后操作就只需要这样写:NewPin=0x10 这样就能对相应的Pin进行操作) 求高手帮忙 能不能有办法呀!
怎么没有人啊
void setport(unsinged char newpin)
- //批量操作GPIO的方法
- struct io_port {
- GPIO_TypeDef *GPIO_x;
- unsigned short GPIO_pin;
- };
- static struct io_port key_output[4] = {
- {GPIOD, GPIO_Pin_0}, {GPIOD, GPIO_Pin_1},
- {GPIOD, GPIO_Pin_2}, {GPIOD, GPIO_Pin_3}
- };
- static struct io_port key_input[4] = {
- {GPIOD, GPIO_Pin_4}, {GPIOD, GPIO_Pin_5},
- {GPIOD, GPIO_Pin_6}, {GPIOD, GPIO_Pin_7}
- };
- //使用方法
- /*
- for(i = 0; i < 4; i++)
- {
- GPIO_SetBits(key_output[i].GPIO_x, key_output[i].GPIO_pin);
- }
- */
想到个本办法 自己写个接口函数 传入一个byte型参数 然后函数里面将每位移至对应的Pin