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.
我使用的是 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 示例、除非您需要使用该示例、否则可以将其移除。