支持 USB 的 PSoC™ 6 MCU 器件具有 D+ 和 D- USB 线路专用引脚(引脚 P14[0] 和 P14[1])。如果应用中不需要 USB 功能,可以将这些引脚用作普通 GPIO。当配置为 GPIO 时,USB 引脚不支持 CMOS_OUT(强驱动)和 HI_Z_ANALOG(高阻抗模拟)以外的驱动模式:
执行以下操作才能将 USB 引脚用作 GPIO:
将 USBDEV_USBIO_CR1 寄存器的 IOMODE 位设置为高电平用于 GPIO 功能,设置为低电平用于 USB 操作。
通过配置 USBFS0_USBLPM_USBIO_CTL 寄存器的 DM_M 和 DM_P 位,设置 DM/DP I/O 焊盘的 GPIO 驱动模式。输入缓冲器关闭:模式 1:输出缓冲器关闭(High-Z)。
不支持其他值。
使用以下代码片段将 USB 引脚配置为 GPIO:
/*Set USBIO to GPIO mode*/
*(uint32 *) CYREG_USBFS0_USBDEV_USBIO_CR1 |= (0x01u << CYFLD_USBFS_USBDEV_IOMODE__OFFSET);
/* Set GPIO input enable */
*(uint32 *) CYREG_USBFS0_USBLPM_USBIO_CTL |= ((0x01u << CYFLD_USBFS_USBLPM_DM_P__OFFSET) |(0x01u << CYFLD_USBFS_USBLPM_DM_M__OFFSET));
请参见各 PSoC™ 6 MCU 器件的寄存器 TRM。
原帖见英飞凌官方论坛:
https://community.infineon.com/t ... A233923/ta-p/289514
|