1.参考C:\Texas Instruments\Z-Stack Lighting 1.0.2\Components\hal\target\CC2530PMP4712例程里的hal_timer.h和hal_timer.c文件(这两个文件没任何修改)
测试发现只有P0.6脚才能输出PWM,配置如下
#define INIT_PWM_PINS()
{
PERCFG |= 0x40;
P0SEL |= 0x40;
P0DIR |= 0x40;
}
#define PWM1 HAL_T1_CH4 //P0.6
HalTimer1Init(0);//初始化定时器
halTimer1SetChannelDuty (PWM1,500);//占空比50%
此时正常输出50%占空比方波
2.当想要设置P0.3和P0.4两路同时输出PWM时,发现没有任何波形,配置如下
P0.3和P0.4其他地方也没用啊
#define INIT_PWM_PINS()
{
PERCFG &= ~0x40;
P0SEL |= (0x08|0x10);
P0DIR |= (0x08|0x10);
}
#define PWM1 HAL_T1_CH1//P0.3
#define PWM2 HAL_T1_CH2//P0.4
HalTimer1Init(0);//初始化定时器
halTimer1SetChannelDuty (PWM1,500);//占空比50%
Viki Shi:
参考论坛类似帖 e2echina.ti.com/…/113667
gaoyang9992006:
是不是时钟配置没有配置对。看看是不是用这个定时器1,好久没用过2530了,你找找这个版块的一个PDF文档,网蜂出的。以前我发的。里面有介绍PWM怎么用。
gaoyang9992006:
仔细看了手册,你这个错了就对了。你用的 是串口的引脚。默认是串口。
gaoyang9992006:
UART0 对应的外部设备 IO 引脚关系为: P0_2 —— RX
P0_3 —— TX
UART1 对应的外部设备 IO 引脚关系为: P0_5 —— RX
P0_4 —— TX
gaoyang9992006:
回复 gaoyang9992006:
如果你非要用这两个,先要选择功能,对功能进行配置后作为IO引脚,然后再设置为输出,然后再配置PWM。。
gaoyang9992006:
回复 gaoyang9992006:
另外给你个建议:不建议使用这些特殊引脚。
gaoyang9992006:
楼主先试试其他普通引脚,你这个全部使用了串口,而且没有先对功能进行选择操作。