我正在使用 EK-TM4C129EXL 控制卡。 我尝试将端口配置为输入/输出。
我使用 GPIOPinTypeGPIOOutput (GPIO_Porte _BASE、GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3)成功配置了它;
然后、我尝试使用 GPIOPinWrite (GPIO_PORTG_base、GPIO_PIN_0)将值写入引脚;
如何将值写入端口而不是写入特定的引脚????
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我正在使用 EK-TM4C129EXL 控制卡。 我尝试将端口配置为输入/输出。
我使用 GPIOPinTypeGPIOOutput (GPIO_Porte _BASE、GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3)成功配置了它;
然后、我尝试使用 GPIOPinWrite (GPIO_PORTG_base、GPIO_PIN_0)将值写入引脚;
如何将值写入端口而不是写入特定的引脚????
[引用用户="Naveen Kumar29"] GPIOPinWrite (GPIO_PORTG_base、GPIO_PIN_0);[/引用]
如果您对'GPIOPinWrite()'的调用成功,这将是一个“惊喜”-正如您在上面列出的那样-成功!
为什么呢? 您对"TM4C 外设驱动程序库 (PDL) 用户手册"的采用和遵守表明、"三个参数"-而不仅仅是两个(正如您的代码所揭示的)是必需的! 中间参数-实际上是-实现所需的"完整端口写入"的"关键"-而不是写入单个引脚!
遵循 PDL 手册中的密钥提取。 (真的-"必读" -为您/我/其他人。)
14.2.3.48 GPIOPinWrite
将值写入指定的引脚。
原型:
无效
GPIOPinWrite (uint32_t ui32Port、uint8_t ui8引脚、uint8_t ui8Val) // 粗体显示您所使用的参数
参数:
ui32Port 是 GPIO 端口的基址。
ui8引脚是引脚的位封装表示。
ui8Val 是要写入引脚的值。
描述:
将相应的位值写入 ui8引脚指定的输出引脚。 写入配置为输入引脚的引脚无效。
引脚使用位封装字节指定、其中设置的每个位标识要访问的引脚、字节的位0代表 GPIO 端口引脚0、位1代表 GPIO 端口引脚1、依此类推。
在您的情况下-要寻址"完整端口"-您可以为(必要)参数2输入(255或0xFF)。 (您也可以使用'GPIO_PIN_N'-其中 N 包括每个条目(0 - 7)-并且您不介意 '腕 带综合症和/或浪费时间/精力。')
只有那些带有参数2的"出现"引脚才会接受您的写入命令。 (例如、如果是参数。 2为0xFC、param。 3为0xFF -则不会写入端口位0和位1 (置位)。)