今天在调试一个18B20的程序,好好的把GPIO研究了一下,这是我收集的中文资料,希望对大家有点帮助
unsigned long GPIODirModeGet | ( | unsigned long | ulPort, | |
unsigned char | ucPin | |||
) |
获得一个管脚的方向和模式。
ulPort | GPIO 端口的基址。 | |
ucPin | 管脚编号。 |
这个函数获取所选 GPIO 端口某个特定管脚的方向和控制模式。在软件控制下 这个管脚可以配置成输入或输出,或者,管脚也可由硬件来控制。控制的类型 和方向作为一个枚举数据类型被返回。
void GPIODirModeSet | ( | unsigned long | ulPort, | |
unsigned char | ucPins, | |||
unsigned long | ulPinIO | |||
) |
设置指定管脚的方向和模式。
ulPort | GPIO 端口的基址。 | |
ucPins | 管脚的位组合(bit-packed)。 | |
ulPinIO | 管脚方向“与/或”模式。 |
这个函数在软件控制下将所选 GPIO 端口的指定管脚设置成输入或输出,或者,也可以 将管脚设置成由硬件来控制。
参数 ulPinIO 是一个枚举数据类型,它可以是下面的其中一个值:
GPIO_DIR_MODE_IN 管脚将被编程用作一个软件控制的输入, GPIO_DIR_MODE_OUT 管脚将被编程用作一个软件控制的输出, GPIO_DIR_MODE_HW 管脚将被设置成由硬件进行控制。
管脚用一个位组合(bit-packed)的字节来指定,这里的每个字节, 置位的位用来识别被访问的管脚, 字节的位0代表GPIO端口管脚0、位1代表GPIO端口管脚1等等。
unsigned long GPIOIntTypeGet | ( | unsigned long | ulPort, | |
unsigned char | ucPin | |||
) |
获取管脚的中断类型。
ulPort | GPIO端口基址。 | |
ucPin | 管脚编号。 |
这个函数获取所选 GPIO 端口上某个特定管脚的中断类型。管脚可配置成 在下降沿、上升沿或两个边沿检测中断,或者,它也可以配置成在低电平 或高电平检测中断。中断检测机制的类型作为一个枚举数据类型返回。
void GPIOIntTypeSet | ( | unsigned long | ulPort, | |
unsigned char | ucPins, | |||
unsigned long | ulIntType | |||
) |
设置指定管脚的中断类型。
ulPort | GPIO端口的基址。 | |
ucPins | 特定管脚的位组合(bit-packed)表示。 | |
ulIntType | 指定中断触发机制的类型。 |
这个函数为所选 GPIO 端口上特定的管脚设置不同的中断触发机制。
参数 ulIntType 是一个枚举数据类型,它可以是下面其中的一个值:
在上面的值中,不同的值描述了中断检测机制(边沿或电平)和特定的触发 事件(边沿检测的上升沿、下降沿或上升/下降沿,电平检测的低电平或高电平)。
管脚用一个位组合(bit-packed)的字节来指定,这里的每个字节, 置位的位用来识别被访问的管脚,字节的位 0 代表 GPIO 端口 管脚 0、位 1 代表 GPIO 端口管脚 1 等等。
在文件
获取管脚的配置。 这个函数获取所选 GPIO 上某个特定管脚的端口配置。 pulStrength 和 pulPinType 的返回值与 504行定义。
void GPIOPadConfigGet
(
unsigned long
ulPort,
unsigned char
ucPin,
unsigned long *
pulStrength,
unsigned long *
pulPinType
)
ulPort
GPIO端口基址。
ucPin
管脚编号。
pulStrength
输出驱动强度存放处的指针。
pulPinType
输出驱动类型存放处的指针。
void GPIOPadConfigSet | ( | unsigned long | ulPort, | |
unsigned char | ucPins, | |||
unsigned long | ulStrength, | |||
unsigned long | ulPinType | |||
) |
设置指定管脚的配置。
ulPort | GPIO 端口的基址。 | |
ucPins | 是特定管脚的位组合(bit-packed)表示。 | |
ulStrength | 指定输出驱动强度。 | |
ulPinType | 指定管脚类型。 |
这个函数设置所选 GPIO 端口指定管脚的驱动强度和类型。对于配置用作输入端口 的管脚,端口按照要求配置,但是对输入唯一真正的影响是上拉或下拉终端的配置。
参数 ulStrength 可以是一下值之一:
GPIO_STRENGTH_xMA 指示 2、4 或 8mA 的输出驱动强度; GPIO_OUT_STRENGTH_8MA_SC 指定了带斜率控制(slew control)的 8mA 输出驱动。
参数 ulPinType 可以是下列中的一个值。
GPIO_PIN_TYPE_STD* 指定一个推挽管脚, GPIO_PIN_TYPE_OD* 指定一个开漏管脚, *_WPU 指定一个一个弱上拉, *_WPD 指定一个弱下拉, GPIO_PIN_TYPE_ANALOG 指定一个模拟输入(对比较器而言)。
管脚用一个位组合(bit-packed)的字节来指定,在这个字节中,置位的位用来识别被 访问的管脚,字节的位 0 代表 GPIO 端口管脚 0、位 1 代表 GPIO 端口管脚 1 等等。
在文件
配置一个GPIO引脚的备用功能。 本函数配置特殊GPIO引脚以选择其复用功能。 一个GPIO引脚一次只能配置成一种外设功能。 在文件
清除指定管脚的中断。 清除指定管脚的中断。 管脚用一个位组合(bit-packed)的字节来指定,在这个字节中, 置位的位用来识别被访问的管脚,字节的位 0 代表 GPIO 端口管脚 0, 位 1 代表 GPIO 端口管脚 1 等等。 在文件
关闭指定管脚的中断。 屏蔽指定管脚的中断。 管脚用一个位组合(bit-packed)的字节来指定,在这个字节中,置位的位用来识别被 访问的管脚,字节的位 0 代表 GPIO 端口管脚 0、位 1 代表 GPIO 端口管脚 1 等等。 在文件
使能指定管脚的中断。 不屏蔽指定管脚的中断。 管脚用一个位组合(bit-packed)的字节来指定,在这个字节中,置位的位用来识别被 访问的管脚,字节的位 0 代表 GPIO 端口管脚 0、位 1 代表 GPIO 端口管脚 1 等等。 在文件
获取所指定 GPIO 端口的中断状态。 如果 bMasked 被设置为 true ,则返回屏蔽的中断状态; 否则,设置为 false 返回原始的中断状态。 在文件
读取指定管脚上出现的值。 读取指定管脚(由 ucPins 指定的)的值。输入和输出管脚的值都能返回, ucPins 未指定的管脚的值被设置成0。 管脚用一个位组合(bit-packed)的字节来指定,在这个字节中, 置位的位用来识别被访问的管脚,字节的位 0 代表 GPIO 端口 管脚 0、位 1 代表 GPIO 端口管脚 1 等等。 在文件
配置引脚用作ADC输入。 ADC输入引脚必须正确配置,使其在DustDevil-class器件上正常工作。 此函数为这些管脚提供合适的配置。 管脚用一个位组合(bit-packed)的字节来指定,在这个字节中, 置位的位用来识别被访问的管脚,字节的位 0 代表 GPIO 端口 管脚 0、位 1 代表 GPIO 端口管脚 1 等等。 在文件
配置管脚,使其用作一个 CAN 器件。 CAN 管脚必须正确配置,使 CAN 外设能正常工作。这个函数为这些管脚提供了一个典 型的配置;其他配置的工作取决于板的设置(例如:使用片内上拉) 管脚用一个位组合(bit-packed)的字节来指定,在这个字节中,置位的位用来识别被 访问的管脚,字节的位 0 代表 GPIO 端口管脚 0、位 1 代表 GPIO 端口管脚 1 等等。 在文件
配置管脚用作一个模拟比较器的输入。 模拟比较器输入管脚必须正确配置,以便模拟比较器能正常工作。这个函数为用作模拟 比较器输入的管脚提供了正确的配置。 管脚用一个位组合(bit-packed)的字节来指定,在这个字节中,置位的位用来识别被 访问的管脚,字节的位 0 代表 GPIO 端口管脚 0、位 1 代表 GPIO 端口管脚 1 等等。 在文件
配置引脚以供外部设备接口使用。 外部设备引脚必须正确配置以使外部设备接口能正常工作。 本函数为这些引脚提供了典型配置; 其它配置也能正常工作,取决于板的设置(例如使用了片内上拉)。 管脚用一个位组合(bit-packed)的字节来指定,在这个字节中,置位的位用来 识别被访问的管脚,字节的位0代表GPIO端口管脚0、位1代表GPIO端口管脚1等等。 在文件
配置引脚以供Ethernet外设用于LED信号。 Ethernet 外设提供两个信号用于驱动一个LED(例如连接状态/活动指示灯)。 本函数为引脚提供一个典型配置。 管脚用一个位组合(bit-packed)的字节来指定,在这个字节中,置位的位用来 识别被访问的管脚,字节的位0代表GPIO端口管脚0、位1代表GPIO端口管脚1等等。 在文件
配置管脚用作 GPIO 输入。 GPIO 管脚必须正确配置,以便 GPIO 输入能正常工作。这一点, 特别是对于 Fury-class器件来说是很重要的,在 Furry-class 器件中, 数字输入使能在默认状态下是关闭的。这个这个函数为用作 GPIO 管脚 提供了正确的配置。 管脚用一个位组合(bit-packed)的字节来指定,在这个字节中,置位的位用来识别被 访问的管脚,字节的位 0 代表 GPIO 端口管脚 0、位 1 代表 GPIO 端口管脚 1 等等。 在文件
配置引脚用作GPIO输出。 GPIO 管脚必须正确配置,以便作为 GPIO 输出能正常工作。这一点,特别是对于 Fury-class 器件来说是很重要的,在 Furry-class 器件中,数字输入使能在默认 状态下是关闭的。这个这个函数为用作 GPIO 管脚提供了正确的配置。 管脚用一个位组合(bit-packed)的字节来指定,在这个字节中,置位的位用来识别被 访问的管脚,字节的位 0 代表 GPIO 端口管脚 0、位 1 代表 GPIO 端口管脚 1 等等。 在文件
配置管脚用作 GPIO 开漏输出。 GPIO 管脚必须正确配置,以便能作为 GPIO 输出正常工作。这一点,特别是对于 Fury-class 器件来说是很重要的,在 Furry-class 器件中,数字输入使能在默认 状态下是关闭的。这个这个函数为用作 GPIO 管脚提供了正确的配置。 管脚用一个位组合(bit-packed)的字节来指定,在这个字节中,置位的位用来识别被 访问的管脚,字节的位 0 代表 GPIO 端口管脚 0、位 1 代表 GPIO 端口管脚 1 等等。 在文件
配置管脚供I2C外设使用。 I2C管脚必须正确配置,以便I2C外设能够正常工作。这个函数为用作I2C功能的管脚提 供了正确配置。 管脚用一个位组合(bit-packed)的字节来指定,在这个字节中,置位的位用来识别被 访问的管脚,字节的位 0 代表 GPIO 端口管脚 0、位 1 代表 GPIO 端口管脚 1 等等。 在文件
配置引脚供I2S使用。 某些I2S引脚必须得到正确配置,以使I2S外设能正常工作。 这个函数为数字 I2S 引脚提供了典型配置; 其它配置也能正常工作,取决于板的设置(例如使用了片内上拉)。 管脚用一个位组合(bit-packed)的字节来指定,在这个字节中,置位的位用来 识别被访问的管脚,字节的位0代表GPIO端口管脚0、位1代表GPIO端口管脚1等等。 在文件
配置管脚供 PWM 外设使用。 PWM 管脚必须正确配置,以便 PWM 外设能够正常工作。这个函数为这些管脚提供了 典型配置;其它配置也能正常工作,这取决于板的设置(例如使用了片内上拉)。 管脚用一个位组合(bit-packed)的字节来指定,在这个字节中,置位的位用来识别被 访问的管脚,字节的位 0 代表 GPIO 端口管脚 0、位 1 代表 GPIO 端口管脚 1 等等。 在文件
配置引脚供QEI使用。 QEI管脚必须正确配置,以便QEI外设能够正常工作。这个函数为这些管脚提供了一 种典型的配置;其它配置也能正常工作,这取决于板的设置(例如未使用片内上拉)。 管脚用一个位组合(bit-packed)的字节来指定,在这个字节中,置位的位用来识别被 访问的管脚,字节的位 0 代表 GPIO 端口管脚 0、位 1 代表 GPIO 端口管脚 1 等等。 在文件
配置管脚供SSI外设使用。 TSSI 管脚必须正确配置,以便 SSI 外设能够正常工作。这个函数为这些管脚 提供了典型配置;其它配置也能正常工作,这取决于板的设置(例如使用了片内上拉) 管脚用一个位组合(bit-packed)的字节来指定,在这个字节中,置位的位用来 识别被访问的管脚,字节的位0代表GPIO端口管脚0、位1代表GPIO端口管脚1等等。 在文件
配置管脚供定时器外设使用。 CCP 管脚必须正确配置,以便定时器外设能够正常工作。这个函数为这些管脚提供了 型配置;其它配置也能正常工作,这取决于板的设置(例如使用了片内上拉)。 管脚用一个位组合(bit-packed)的字节来指定,在这个字节中,置位的位用来 识别被访问的管脚,字节的位0代表GPIO端口管脚0、位1代表GPIO端口管脚1等等。 在文件
配置管脚供 UART 外设使用。 UART 管脚必须正确配置,以便 UART 外设能够正常工作。这个函数为这些管脚提供 了典型配置;其它配置也能正常工作,这取决于板的设置(例如使用了片内上拉)。 管脚用一个位组合(bit-packed)的字节来指定,在这个字节中,置位的位用来 识别被访问的管脚,字节的位0代表GPIO端口管脚0、位1代表GPIO端口管脚1等等。 在文件
配置管脚供 USB 外设使用。 某些USB模拟引脚必须得到正确配置,以使USB外设能正常工作。 本函数给任何USB引脚提供确的配置。 本函数还可以用来配置EPEN和PFAULT引脚,并不在由USB控制器使用。 管脚用一个位组合(bit-packed)的字节来指定,在这个字节中,置位的位用来 识别被访问的管脚,字节的位0代表GPIO端口管脚0、位1代表GPIO端口管脚1等等。 在文件
配置管脚供 USB 外设使用。 某些 USB 管脚必须正确配置,以便 USB 外设能够正常工作。这个函数为 数字 USB 管脚提供了典型配置;其它配置也能正常工作,这取决于 板子的设置(例如使用了片内上拉)。 这个函数必须配合EPEN和FAULT引脚使用,因为其他引脚都是模拟属性 或者由于器件没有OTG功能。 管脚用一个位组合(bit-packed)的字节来指定,在这个字节中,置位的位用来 识别被访问的管脚,字节的位0代表GPIO端口管脚0、位1代表GPIO端口管脚1等等。 在文件
向指定管脚写入一个值。 将对应的位值写入 ucPins 指定的输出管脚。向配置用作输入的 管脚写入一个值不会产生任何影响。 管脚用一个位组合(bit-packed)的字节来指定,在这个字节中, 置位的位用来识别被访问的管脚,字节的位 0 代表 GPIO 端口 管脚 0、位 1 代表 GPIO 端口管脚 1 等等。 在文件
注册 GPIO 端口的一个中断处理程序。 当从所选的 GPIO 端口检测到中断时,这个函数可以确保调用 pfnIntHandler 指定的中断处理程序。这个函数也使能中断控制器中 对应的 GPIO 中断;单个管脚的中断和中断源必须用 IntRegister() 。
在文件
注销 GPIO 端口的一个中断处理程序。 这个函数将注销指定GPIO 端口的中断处理程序。它还将禁止中断控制器中对应的GPIO 端口中断;单个的 GPIO 中断和中断源必须用 IntRegister()
在文件
点赞
void GPIOPinConfigure
(
unsigned long
ulPinConfig
)
ulPinConfig
引脚设置值,其值指定为 GPIO_P??_??? 中的一个。
void GPIOPinIntClear
(
unsigned long
ulPort,
unsigned char
ucPins
)
ulPort
GPIO 端口的基址。
ucPins
特定管脚的位组合(bit-packed)表示。
void GPIOPinIntDisable
(
unsigned long
ulPort,
unsigned char
ucPins
)
ulPort
GPIO 端口的基址。
ucPins
管脚的位组合(bit-packed)表示。
void GPIOPinIntEnable
(
unsigned long
ulPort,
unsigned char
ucPins
)
ulPort
GPIO 端口的基址。
ucPins
特定管脚的位组合(bit-packed)表示。
long GPIOPinIntStatus
(
unsigned long
ulPort,
tBoolean
bMasked
)
ulPort
GPIO 端口的基址。
bMasked
指定返回的是屏蔽的中断状态还是原始的中断状态。
long GPIOPinRead
(
unsigned long
ulPort,
unsigned char
ucPins
)
ulPort
GPIO 端口的基址。
ucPins
管脚的位组合(bit-packed)表示。
void GPIOPinTypeADC
(
unsigned long
ulPort,
unsigned char
ucPins
)
ulPort
GPIO端口基址。
ucPins
管脚的位组合表示。
void GPIOPinTypeCAN
(
unsigned long
ulPort,
unsigned char
ucPins
)
ulPort
GPIO 端口的基址。
ucPins
管脚的位组合(bit-packed))表示。
void GPIOPinTypeComparator
(
unsigned long
ulPort,
unsigned char
ucPins
)
ulPort
GPIO 端口的基址。
ucPins
管脚的位组合(bit-packed)表示。
void GPIOPinTypeEPI
(
unsigned long
ulPort,
unsigned char
ucPins
)
ulPort
GPIO 端口基址。
ucPins
管脚的位组合(bit-packed)表示。
void GPIOPinTypeEthernetLED
(
unsigned long
ulPort,
unsigned char
ucPins
)
ulPort
GPIO 端口基址。
ucPins
管脚的位组合(bit-packed)表示。
void GPIOPinTypeGPIOInput
(
unsigned long
ulPort,
unsigned char
ucPins
)
ulPort
GPIO 端口的基址。
ucPins
管脚的位组合(bit-packed)表示。
void GPIOPinTypeGPIOOutput
(
unsigned long
ulPort,
unsigned char
ucPins
)
ulPort
GPIO 端口的基址。
ucPins
管脚的位组合(bit-packed)表示。
void GPIOPinTypeGPIOOutputOD
(
unsigned long
ulPort,
unsigned char
ucPins
)
ulPort
GPIO 端口的基址。
ucPins
管脚的位组合(bit-packed)表示。
void GPIOPinTypeI2C
(
unsigned long
ulPort,
unsigned char
ucPins
)
ulPort
GPIO 端口的基址。
ucPins
管脚的位组合(bit-packed)表示。
void GPIOPinTypeI2S
(
unsigned long
ulPort,
unsigned char
ucPins
)
ulPort
GPIO端口基址。
ucPins
管脚的位组合(bit-packed)表示。
void GPIOPinTypePWM
(
unsigned long
ulPort,
unsigned char
ucPins
)
ulPort
GPIO 端口的基址。
ucPins
管脚的位组合(bit-packed)表示。
void GPIOPinTypeQEI
(
unsigned long
ulPort,
unsigned char
ucPins
)
ulPort
GPIO端口基址。
ucPins
引脚位组合表示。
void GPIOPinTypeSSI
(
unsigned long
ulPort,
unsigned char
ucPins
)
ulPort
GPIO 端口的基址。
ucPins
管脚的位组合(bit-packed)表示。
void GPIOPinTypeTimer
(
unsigned long
ulPort,
unsigned char
ucPins
)
ulPort
GPIO 端口的基址。
ucPins
管脚的位组合(bit-packed)表示。
void GPIOPinTypeUART
(
unsigned long
ulPort,
unsigned char
ucPins
)
ulPort
GPIO 端口的基址。
ucPins
管脚的位组合(bit-packed)表示。
void GPIOPinTypeUSBAnalog
(
unsigned long
ulPort,
unsigned char
ucPins
)
ulPort
GPIO端口基址。
ucPins
管脚的位组合(bit-packed)表示。
void GPIOPinTypeUSBDigital
(
unsigned long
ulPort,
unsigned char
ucPins
)
ulPort
GPIO基址。
ucPins
管脚的位组合(bit-packed)表示。
void GPIOPinWrite
(
unsigned long
ulPort,
unsigned char
ucPins,
unsigned char
ucVal
)
ulPort
GPIO 端口的基址。
ucPins
管脚的位组合(bit-packed)表示。
ucVal
写入到指定管脚的值。
void GPIOPortIntRegister
(
unsigned long
ulPort,
void(*)(void)
pfnIntHandler
)
ulPort
GPIO 端口的基址。
pfnIntHandler
指向 GPIO 端口中断处理函数的指针。
void GPIOPortIntUnregister
(
unsigned long
ulPort
)
ulPort
GPIO 端口的基址。 回复评论 (11)
回复 板凳 bjmonsoon 的帖子
是的
回复 5楼 fxw451 的帖子
太大了,几十M