我试图用这段代码来实现PWM输出,但显然缺少了一些东西。因为当我检查MPLab中的时,CCP2输出不会发生任何变化。我和pic18f25k80一起工作。
void main() {
// Set up PWM
CCP2CON = 0b00001100; // Enable PWM on CCP2, bits 5:4 are LSB part of duty cycle
CCPTMRS = 0b00000000; // Use timer2 for all CCP modules
CCPR2L = 31; // MSB part of duty cycle
TRISC = 0b00000000; // Set port C as output
PORTC = 0; // Clear port C
// Set Up timer2
PR2 = 249; // PWM period = (PR+1)*4*Tcy = 1ms
T2CON = 0b00000100; // Enable TMR2 with prescaler = 1
while(1)
{
}
}我想什么时候
发布于 2014-10-28 09:19:10
更多信息:
PORTC = 0xFF;并再次调试代码时。除了RC2 (RC2 =相应的CCP2输出)外,C端口上的所有信号都是设置的。PORTC = 0xFF;替换PORTCbits.CCP2 = 1;时,只有RC1被设置得很高。这最后一颗子弹是否意味着CCP2被RC1而不是RC2屏蔽?
https://stackoverflow.com/questions/26590612
复制相似问题