微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > GPIO口 整合使用 求大侠、前辈指教

GPIO口 整合使用 求大侠、前辈指教

时间:10-02 整理:3721RD 点击:
不同的IO口怎么能 整合在一个Byte 操作? 比如;A口1脚、B口2脚、C口3脚等等。我需要把8个IO口整合在一起来操作(假设命名为NewPin,以后操作就只需要这样写:NewPin=0x10 这样就能对相应的Pin进行操作)   求高手帮忙  能不能有办法呀!

怎么没有人啊     

void setport(unsinged char newpin)

  1. //批量操作GPIO的方法

  2. struct io_port {                                          
  3. GPIO_TypeDef *GPIO_x;               
  4. unsigned short GPIO_pin;
  5. };        
  6. static struct io_port key_output[4] = {
  7. {GPIOD, GPIO_Pin_0}, {GPIOD, GPIO_Pin_1},
  8. {GPIOD, GPIO_Pin_2}, {GPIOD, GPIO_Pin_3}
  9. };
  10. static struct io_port key_input[4] = {
  11. {GPIOD, GPIO_Pin_4}, {GPIOD, GPIO_Pin_5},
  12. {GPIOD, GPIO_Pin_6}, {GPIOD, GPIO_Pin_7}
  13. };

  14. //使用方法
  15. /*
  16. for(i = 0; i < 4; i++)
  17. {
  18.   GPIO_SetBits(key_output[i].GPIO_x, key_output[i].GPIO_pin);
  19. }
  20. */

复制代码


想到个本办法  自己写个接口函数   传入一个byte型参数  然后函数里面将每位移至对应的Pin

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top