微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > T1CON

T1CON

时间:10-02 整理:3721RD 点击:
我想用下面的程序在T3PWM产生一个PWM波,为什么不行呢?
#include \"f2407_c.h\"
#define pwm3_duty 1000
// 屏蔽中断程序
void inline disable()
{
asm(\" setc INTM\"

;
}
// 系统初始化子程序
int initial()
{
asm(\" setc SXM\"

; // 符号位扩展有效
asm(\" clrc OVM\"

; // 累加器中结果正常溢出
asm(\" clrc CNF\"); // B0被配置为数据存储空间
*SCSR1=0x81FE; // CLKIN=10M,CLKOUT=4*CLKIN=40M
*WDCR=0xE8; // 不使能看门狗,因为SCSR2中的WDOVERRIDE即WD保护位复位后的缺省值为1,故可以用软件禁止看门狗
*IMR=0x00; // 禁止所有中断
*IFR=0xFFFF; // 清除全部中断标志,\"写1清0\"
WSGR=0X00; // 禁止所有的等待状态
}
// EVB模块的PWM初始化程序
int timer3init()
{
*T3CON=0X1082;
*GPTCONB=0X004A;
*T3PR=0X07D0; // 设置定时器3的周期寄存器
*T3CNT=0;
*CMPR3=pwm3_duty;
}

// 该中断服务程序主要是为了防止干扰,不做任何其它操作
void interrupt nothing()
{
return; // 中断直接返回
}
// 主程序
void main( )
{
disable(); // 总中断禁止
initial(); // 系统初始化
timer3init(); // T3PWM输出初始化
*T3CON=*T3CON|0x0040; // 启动定时器3
while(1);
}

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

网站地图

Top