求助,s3c2410a PWM仿真问题!
我的源程序是:#include "2410addr.h"
voidPWM_Init(unsigned int cycle,unsigned int duty){
if (duty > cycle) duty = cycle; // 参数过滤
rTCFG0=rTCFG0 & ~(0xff << 8)|(99 << 8);//rTCFG0=99,预分频器0设置为100,取得507000Hz
rTCFG1=rTCFG1 & ~(0xf << 8); //rTCFG1=0,timer2再取1/2分频,取得253500Hz
rTCMPB2=duty; // 设置PWM占空比,定时器T2的比较缓冲值
rTCNTB2=cycle; // 定时值(PWM周期),计数缓冲 减法计数
rTCON=(rTCON & ~(0xf << 12)) | (0x0d<<12); // T2自动重装,输出反向,手动更新无操作,启动T2
}
void Main(void){
int nLED=0;
rGPGCON &= ~(3 << 6); //rGPGCON=0,KEY1控制口设置
rGPBCON = (rGPBCON & (~(3<<4))) | (2<<4); //rGPBCON = 10b,设置TOUT2功能
rGPBUP |= (1<<2); //禁止TOUT0口的上拉电阻
PWM_Init(255, 100);
while(1)
if((rGPBDAT&0x04)==1)//TOUT2 输出反向 观测点
while(1) ;
}
在AXD中仿真时,发现rTCON等寄存器都正确加载,但是TOUT2始终无输出,我查了一下资料Tout2应该是GPB2。请问各位大侠这是怎么回事?
补充一句:小弟是刚刚学习ARM9的。 回复【楼主位】erqixiaoma
-----------------------------------------------------------------------
有些语句是多余的!
页:
[1]