[技术问答] IO初始化寄存器说明

[复制链接]
 楼主| pentruman 发表于 2023-10-15 12:24 | 显示全部楼层 |阅读模式



  1. #if defined(RD8G36x) || defined(RD8G37x) || defined(RD8T36x) || defined(RD8T37x)
  2. typedef enum
  3. {
  4.   GPIO0 = (uint8_t)0x00, //P0
  5.   GPIO1 = (uint8_t)0x01, //P1
  6.   GPIO2 = (uint8_t)0x02, //P2
  7.   GPIO3 = (uint8_t)0x03, //P3
  8.   GPIO4 = (uint8_t)0x04, //P4
  9.   GPIO5 = (uint8_t)0x05  //P5
  10. } GPIO_TypeDef;
  11. #elif defined(RD8G05x) || defined(RD8T05x)
  12. typedef enum
  13. {
  14.   GPIO0 = (uint8_t)0x00, //P0
  15.   GPIO1 = (uint8_t)0x01, //P1
  16.   GPIO2 = (uint8_t)0x02, //P2
  17.   GPIO5 = (uint8_t)0x05  //P5
  18. } GPIO_TypeDef;
  19. #else
  20. typedef enum
  21. {
  22.   GPIO0 = (uint8_t)0x00, //P0
  23.   GPIO1 = (uint8_t)0x01, //P1
  24.   GPIO2 = (uint8_t)0x02, //P2
  25. } GPIO_TypeDef;
  26. #endif

  27. typedef enum
  28. {
  29.   GPIO_MODE_IN_HI = (uint8_t)0x00, //高阻输入模式
  30.   GPIO_MODE_IN_PU = (uint8_t)0x01, //带上拉的输入模式
  31.   GPIO_MODE_OUT_PP = (uint8_t)0x02 //强推挽输出模式
  32. } GPIO_Mode_TypeDef;

  33. typedef enum
  34. {
  35.   GPIO_PIN_0 = ((uint8_t)0x01),    //IO管脚Px0
  36.   GPIO_PIN_1 = ((uint8_t)0x02),    //IO管脚Px1
  37.   GPIO_PIN_2 = ((uint8_t)0x04),    //IO管脚Px2
  38.   GPIO_PIN_3 = ((uint8_t)0x08),    //IO管脚Px3
  39.   GPIO_PIN_4 = ((uint8_t)0x10),    //IO管脚Px4
  40.   GPIO_PIN_5 = ((uint8_t)0x20),    //IO管脚Px5
  41.   GPIO_PIN_6 = ((uint8_t)0x40),    //IO管脚Px6
  42.   GPIO_PIN_7 = ((uint8_t)0x80),    //IO管脚Px7
  43.   GPIO_PIN_LNIB = ((uint8_t)0x0F), //IO管脚Px0~3
  44.   GPIO_PIN_HNIB = ((uint8_t)0xF0), //IO管脚Px4~7
  45.   GPIO_PIN_ALL = ((uint8_t)0xFF)   //IO管脚Px0~7
  46. } GPIO_Pin_TypeDef;

  47. typedef enum
  48. {
  49.   IOH_Grade_0 = ((uint8_t)0x00), //IOH等级0
  50.   IOH_Grade_1 = ((uint8_t)0x01), //IOH等级1
  51.   IOH_Grade_2 = ((uint8_t)0x02), //IOH等级2
  52.   IOH_Grade_3 = ((uint8_t)0x03), //IOH等级3
  53. } GPIO_IOH_Grade_TypeDef;


elsaflower 发表于 2023-11-5 10:23 | 显示全部楼层
单片机IO初始化寄存器的配置主要取决于所使用的单片机的型号和开发环境。
sdCAD 发表于 2023-11-5 16:21 | 显示全部楼层
寄存器用于控制I/O口的输入输出方向,即控制I/O口的工作方式为输出方式还是输入方式。
robertesth 发表于 2023-11-5 17:17 | 显示全部楼层
单片机IO初始化寄存器是指用于配置单片机IO口功能的寄存器。
janewood 发表于 2023-11-5 21:01 | 显示全部楼层
每个IO口都对应多个寄存器,这些寄存器包括模式配置寄存器、速度控制寄存器、极性配置寄存器等。
jkl21 发表于 2023-11-5 22:07 | 显示全部楼层
IO初始化寄存器和函数是非常重要的组成部分
modesty3jonah 发表于 2023-11-8 18:34 | 显示全部楼层
在单片机系统中,IO口是一种常见的输入/输出设备,用于与外部电路进行通信和交互。为了简化操作流程和提高代码可维护性,通常使用库函数版本来操作寄存器完成IO口的各种功能。
sesefadou 发表于 2023-11-8 20:14 | 显示全部楼层
在单片机中,IO口(输入输出)的初始化主要涉及到配置IO口的工作模式、数据方向、上拉/下拉电阻等
primojones 发表于 2023-11-8 21:34 | 显示全部楼层
配置可以通过修改相应的寄存器来实现。
kkzz 发表于 2023-11-8 22:20 | 显示全部楼层
在进行IO初始化时,通常需要配置相应的GPIO端口模式和速度
您需要登录后才可以回帖 登录 | 注册

本版积分规则

28

主题

1511

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部

28

主题

1511

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部