int
PWMInit (void)
{
//
// PWM不分频
//
SysCtlPWMClockSet(SYSCTL_PWMDIV_1);
GPIOPinTypeGPIOOutput(GPIO_PORTB_BASE, GPIO_PIN_2|GPIO_PIN_3);//配置2,3管脚为输出
//配置PF0,PF1分别为M1PWM4,M1PWM5
GPIOPinConfigure(GPIO_PF0_M1PWM4);
GPIOPinConfigure(GPIO_PF1_M1PWM5);
// 配置PF0,PF1为PWM的输出管脚
GPIOPinTypePWM(GPIO_PORTF_BASE, GPIO_PIN_0|GPIO_PIN_1);
//
// Configure the PWM1 to count down without synchronization.
//配置GEN2递减计数模式不同步模式
PWMGenConfigure(PWM1_BASE, PWM_GEN_2,
PWM_GEN_MODE_DOWN | PWM_GEN_MODE_NO_SYNC);
//设置PWM周期
PWMGenPeriodSet(PWM1_BASE, PWM_GEN_2,100);
//设置PWM占空比
PWMPulseWidthSet(PWM1_BASE, PWM_OUT_4, 10);
PWMPulseWidthSet(PWM1_BASE, PWM_OUT_5, 10);
//使能PWM输出状态
PWMOutputState(PWM1_BASE, PWM_OUT_4_BIT| PWM_OUT_5_BIT, true);
GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_2, 0x1<<2);//H2管脚置高 对应RESETAB
GPIOPinWrite(GPIO_PORTB_BASE, GPIO_PIN_3, 0x1<<3);//H3管脚置高 对应RESETCD
//
// 使能PWM发生器
PWMGenEnable(PWM1_BASE, PWM_GEN_2);
return(0);
}
PF1能输出PWM,而PF0不能输出PWM
zhetao xu:
回复 Michael Sun:
Hi Michael Sun,
谢谢你的回复,在主函数已经使能过用到的外设了
关于PF0和PD7有锁的部分在数据手册中没找到相关说明
是不是,需要修改一下这部分手册。便于使用者使用
zhetao xu:
回复 Michael Sun:
Hi Michael sun,
为什么PF0和PD7是加锁了呢,这两个管脚是不是有什么特殊的地方?
hao peng:
回复 Michael Sun:
这里的 GPIO_O_LOCK 、GPIO_LOCK_KEY 、GPIO_O_CR是用什么头文件呢?
Wellin Zhang:
回复 hao peng:
Peng
这些define定义在../inc/hw_gpio.h文件内
hao peng:
回复 Wellin Zhang:
谢谢