void pwminit(void) {
DDRP = 0xff; //控制输出
PWME = 0x00;
PWMPRCLK = PWMPRCLK_PCKA2_MASK|PWMPRCLK_PCKB0_MASK;
PWMCLK=0x0; //PWMCLK_PCLK6_MASK|PWMCLK_PCLK7_MASK; //A时钟源为通道0,1提供时钟信号,B时钟源为通道6,7提供时钟信号
//A口提供500kHz的频率,B口提供4MHz的频率
PWMPOL =PWMPOL_PPOL0_MASK|PWMPOL_PPOL1_MASK|PWMPOL_PPOL6_MASK|PWMPOL_PPOL7_MASK; //用s1口做1通道的时钟 先高电平
PWMCAE=0x0; //对齐方式默认 左对齐
PWMCTL=PWMCTL_CON01_MASK|PWMCTL_CON67_MASK;
PWMPER01 = 10000; // 通道1输出 50Hz
PWMDTY01 = 750;
PWMCNT01 =0x0;
PWMPER67 = 800; //通道7输出5kHz
PWMDTY67 = 400;
PWMCNT67 =0x0;
PWME=0xff;
}
参考一下我的程序吧。 |