搜档网
当前位置:搜档网 › cc2541pwm

cc2541pwm

#include
#include "bcomdef.h"
#include "OSAL.h"

void PWM_Init()
{
//设置pwm端口为输出
P0DIR|= BV(3);
//设置pwm端口为外设端口,非gpio
P0SEL|= BV(3);
//由于uart等会占用我们当前使用的pwm端口,因此需要将uart等重映射到别的端口去。
PERCFG |= 0x03; // Move USART1&2 to alternate2 location so that T1 is visible

// Initialize Timer 1
T1CTL = 0x0E; // Div = 128, 计数模式
T1CNTL = 0;
T1CNTH = 0;

// T1CCTL0 = 0x24;
T1CC0H = 0x13;
T1CC0L = 0x88; //PWM周期

T1CCTL1 = 0x24; //比较模式
T1CC1H = 0x01; //比较T1CC1和T1CC0,其中T1CC1是高电平时间,T1CC0是周期
T1CC1L = 0xc4;
}


/*
使用时请删除HCI_EXT_ClkDivOnHaltCmd( HCI_EXT_ENABLE_CLK_DIVIDE_ON_HALT );
否则PWM周期不稳定
*/


相关主题