微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2541 PWM 输出问题

CC2541 PWM 输出问题

时间:10-02 整理:3721RD 点击:

我使用CC2541 TIM1 外设I/O输出PWM,为什么通道2输出的PWM最小值拉不到0呢,而通道1与通道3输出的PWM则十分正常。

PWM初始化代码如下:

void PWM_Init()
{
//设置pwm端口为输出
P0DIR|= BV(3)|BV(4)|BV(5);

//设置pwm端口为外设端口,非gpio
P0SEL|= BV(3)|BV(4)|BV(5);


PERCFG |= 0x03; // Move USART1&2 to alternate2 location so that T1 is visible

T1CTL = 0x0E; // Div = 128, CLR, MODE = Suspended
T1CCTL1 = 0x34; // 定时器1 通道1 捕获/比较控制
T1CCTL2 = 0x34; 
T1CCTL3 = 0x34; 
//定时器1 计数器低字节


T1CNTL = 0; // Reset timer to 0;


T1CCTL0 = 0x4C; // IM = 1, CMP = Clear output on compare; Mode = Compare

//定时器1 通道0 捕获/比较值 高H 低L 字节


T1CC0H = 0x01; 
T1CC0L = 0x77; 

T1CC1H = 0x01; 
T1CC1L = 0x77;


T1CC2H = 0x01; 
T1CC2L = 0x77;


T1CC3H = 0x01; 
T1CC3L = 0x77;

EA=1;
//定时器1 中断使能
IEN1 |= 0x02; // Enable T1 cpu interrupt
}

main 函数代码如下:

void main(void)

{

PWM_Init();
while(1);

}

下图为P0.4 的输出波形如下:

请看一下这个链接,贴出了正常的PWM代码。CC2530/CC2540协议栈不同,但在寄存器配置上有共性,可以参考

没看到链接...啊

怎么没链接

你好,你这里没有链接,我最近刚学cc2541,不知道怎么配置pwm输出,可否贴出代码以供参考学习,谢谢

你好!我也遇到这个问题,其他通道正常。你的链接在哪呢

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

网站地图

Top