微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > 关于2540的Timer1的PWM

关于2540的Timer1的PWM

时间:12-22 整理:3721RD 点击:

同样配置Timer1的通道1,2,3为PWM输出,

PERCFG &= ~0x40; 
P0DIR |= 0x38; 
P0SEL |= 0x38; 

T1CTL &= ~0x03; 
T1CNTL = 0x0; 
TIMIF &= ~0x40; 
T1CTL |= 0x02;
T1CTL |= 0x8; 

 T1CCTL1 &= ~0x40; 
T1CCTL1 |= 0x04;
T1CCTL1 |= 5<<2; 

程序执行到此,P0-3口是低电平,与预期相符; 但程序改为:

PERCFG &= ~0x40; 
P0DIR |= 0x38; 
P0SEL |= 0x38; 

T1CTL &= ~0x03; 
T1CNTL = 0x0; 
TIMIF &= ~0x40; 
T1CTL |= 0x02;
T1CTL |= 0x8; 

 T1CCTL2 &= ~0x40; 
T1CCTL2 |= 0x04;
T1CCTL2 |= 5<<2;   时,P0_4有约8Hz的方波输出,  请问这是何原因导致?  

是PERCFG &= ~0x40; 这句的问题, 这样写时,UART0也被配置在功能1上, 与Timer1有冲突, 但不明白的是,程序中并没有使用UART0,为何仍出现了影响,该为 PERCFG &= ~0x40;   PERCFG |= ~0x1;   即可。

hi qing,

如果你把UART0 也配置上, 同时也配置了P0DIR, 不管程序里面是否用到了 实际上的UART 传输, 都很有可能会影响到IO 口的输入输出.

所以最好不要把IO 口复用, 除非你能非常好地控制 : )

是这样的

谢谢上面两位的解答, 但是个人认为:通常某个外设没有配置时,应该是停用的,以节省功耗,这里这样做是源于何种理由?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top