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-TM4C123GXL:TM4C123G:PD1中的 GPIO 与 PB7中的 PWM 发生冲突

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/975884/ek-tm4c123gxl-tm4c123g-gpio-conflict-in-pd1-with-pwm-in-pb7

器件型号:EK-TM4C123GXL

 您好!

我使用的是 Tiva-C 系列 Launchpad 板。  

在 PD1中使用 GPIO 时、我尝试在引脚 PB6和 PB7中使用 PWM。

我有以下2个初始化函数:

//
//
//蜂鸣器 GPIO 的配置
//
//*********

void BuzzerInit()
{
//启用此程序使用的外设。
ROM_SysCtlPeripheralEnable (SYSCTL_Periph_GPIOD);
ROM_GPIOPinTypeGPIOOutput (GPIO_PORTD_base、GPIO_PIN_1);
ROM_GPIOPinWrite (GPIO_PORTD_base、蜂鸣器_PIN、GPIO_PIN_1);
}

//*********
//
//针对 Gripper 伺服和闪光灯的 PWM 配置
//
//*****************

void ServoFlashLampPWMInit()
{
//M0PWM0
//M0PWM1
//配置 PWM 时钟将系统时钟除以1
ROM_SysCtlPWMClockSet (SYSCTL_PWMDIV_4);
//启用此程序使用的外设。
ROM_SysCtlPeripheralEnable (SYSCTL_Periph_GPIOB);
ROM_SysCtlPeripheralEnable (SYSCTL_Periph_PWM0);
ROM_SysCtlPeripheralEnable (SYSCTL_Periph_PWM1);
//将 PB6引脚配置为闪烁灯的 PWM
ROM_GPIOPinConfigure (GPIO_PB6_M0PWM0);
GPIOPinTypePWM (GPIO_PORTB_BASE、GPIO_PIN_6);
//将 PB7引脚配置为伺服 PWM
ROM_GPIOPinConfigure (GPIO_PB7_M0PWM1);
GPIOPinTypePWM (GPIO_PORTB_BASE、GPIO_PIN_7);
//配置 PWM 选项
//PWM_GEN_0涵盖 M0PWM0和 M0PWM1
PWMGenConfigure (PWM0_BASE、PWM_GEN_0、PWM_GEN_MODE_DOWN | PWM_GEN_MODE_NO_SYNC);
//设置周期(以时钟节拍表示)
PWMGenPeriodSet (PWM0_BASE、PWM_GEN_0、PERIOD_伺 服闪存灯);
//设置闪光灯的 PWM 占空比
PWMPulseWidthSet (PWM0_BASE、PWM_OUT_0、FLASH_Duty_0);
//为 LOCK_CENTER 的伺服设置 PWM 占空比
PWMPulseWidthSet (PWM0_BASE、PWM_OUT_1、PERIOD_伺 服闪光灯*48/100);//初始打开
//启用 PWM 发生器
PWMGenEnable (PWM0_BASE、PWM_GEN_0);
//打开输出引脚
PWMOutputState (PWM0_BASE、PWM_OUT_0_BIT、TRUE);
PWMOutputState (PWM0_BASE、PWM_OUT_1_BIT、TRUE);
}

但是、当我尝试使用  GPIOPinWrite (GPIO_PORTD_base、GPIO_PIN_1、GPIO_PIN_1)或    GPIOPinWrite (GPIO_PORTD_base、 GPIO_PIN_1、  0);


不管用。 我在 为 端口 D1连接的图片中获得输出(假设从0移位到1)

如果我禁用端口 B6中的 PWM、则端口 D1中的问题消失了、

谢谢!!

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

    Renato、您好!

    由于在发布时与特定 BoosterPack 兼容、 EK-TM4C123GXL 组装了一对连接在一起的零欧姆电阻器:PD0与 PB6相连、PD1与 PB7相连。 这些电阻器仅用于支持与 BOOSTXL-SENSHUB BoosterPack 配合使用的 Airmouse 示例、除非您需要使用该示例、否则可以将其移除。

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

    谢谢! 非常有用! )