Other Parts Discussed in Thread: C2000WARE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号: C2000WARE
大家好!
在 C2000Ware_6_00_01_00\driverlib\f28p55x\driverlib\asysctl.h 中、可以使用以下函数:
//*****************************************************************************
//
//! Enable GPIO Input buffer (INENA control).
//!
//! \param pin can be 0, 23, 25, 31, 46 or 103
//!
//! \return None
//
//*****************************************************************************
static inline void ASysCtl_enableGPIOInputBuffer(uint32_t pin)
{
ASSERT((pin == 0U) || (pin == 23U) || (pin == 25U) ||
(pin == 32U) || (pin == 46U) || (pin == 103U));
uint16_t mask =
(pin == 20U) ? ASYSCTL_GPIOINENACTRL_GPIO20 :
(pin == 21U) ? ASYSCTL_GPIOINENACTRL_GPIO21 :
(pin == 62U) ? ASYSCTL_GPIOINENACTRL_GPIO62 :
(pin == 63U) ? ASYSCTL_GPIOINENACTRL_GPIO63 :
0U;
EALLOW;
HWREGH(ANALOGSUBSYS_BASE + ASYSCTL_O_GPIOINENACTRL) |= mask;
EDIS;
}
这看起来可疑。
断言仅接受引脚 0、23、25、32 (\param 描述显示 31)、46,103。
但以下代码仅处理引脚 20、21、62、63、对任何其他引脚不执行任何操作。
因此、实际上、如果断言处于活动状态、该函数不能执行任何操作。
对于 ASysCtl_、完全相同 DIS ableGPIOInputBuffer()。
这是一个错误吗?
此致、
Wolfgang