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.

[参考译文] MSPM0G3507:关于 GPIO 读取引脚

Guru**** 1997655 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1443421/mspm0g3507-regarding-gpio-read-pin

器件型号:MSPM0G3507

工具与软件:

尊敬的 TI:

我曾尝试读取 配置为输入的 GPIO PA25引脚、但我可以看到、当我提供3.3V 时、我将获得寄存器十进制值、而不是 高电平或低电平。

我的问题是、为什么要把引脚值设置为高电平或低电平、而不是高电平或低电平。

 

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
/** * @brief Set a group of GPIO pins * * @param[in] gpio Pointer to the register overlay for the peripheral * @param[in] pins Pins to set high. Bitwise OR of @ref DL_GPIO_PIN. */
__STATIC_INLINE void DL_GPIO_setPins(GPIO_Regs* gpio, uint32_t pins)
{
gpio->DOUTSET31_0 = pins;
}
__STATIC_INLINE uint32_t DL_GPIO_readPins(GPIO_Regs* gpio, uint32_t pins)
{
return (gpio->DIN31_0 & pins);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

此致  

谢谢!

 

祝你一切顺利

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Karan、

    因为此函数将读取 DIN31_0寄存器。 每个位代表一个 GPIO、您将 PA25设置为高电压、您将读出0x200 0000 (设置位 DIO25)、其  十进制值为 33,554,432。

    此致、

    Janz Bai