智能车制作
标题:
定时测速程序,始终找不到原因
[打印本页]
作者:
yuhuo1989
时间:
2009-5-2 22:34
标题:
定时测速程序,始终找不到原因
谁能帮我看看我下面这个程序错在哪里?一直找不到原因,加了中断后用BDM观察发现进不到PWMout子程序里,所以电机始终不转。愁啊,望高手指点,谢谢!
#include <hidef.h> /* common defines and macros */
#include <MC9S12XS128.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12xs128"
unsigned char PulseCnt;
static int sudu;
void SetBusblock()
{
REFDV=0x01; //initiate PLL clock
SYNR =0x02; // system clock 24M
while (!(CRGFLG & 0x08)){} // 稳定到24MHz
CLKSEL=0x80; // 选定所相环时钟
}
/*******************************************************
ECT输入捕捉初始化
*******************************************************/
void ECT_init(void) //中断初始化
{
TIOS=0x08; //通道2输入捕捉,通道3定时
TSCR1=0x80; //定时器使能
TSCR2=0x07; //禁止定时器溢出中断,预分频系数为128
TCTL4=0x30; //捕捉上下沿
TIE=0x0c; //允许ECT通道2,3中断
TFLG1=0x0c;
PulseCnt=0x00; //计数初始化
}
void pwm_init() //pwm初始化函数
{
PWME=0xA8; //通道23,45,67使能
PWMPOL=0xA8; //通道23,45,67输出波形开始极性为1
PWMCTL=0xE0; //通道23,45,67级联
PWMCLK=0x08;
PWMSCLB=12;
PWMPER23=20;
PWMPER45=12000; //设定通道45频率为2KHz
PWMPER67=12000; //设定通道67频率为2KHz
}
void Speedout()
{
PWMDTY23=sudu;
PWMDTY45=4000;
PWMDTY67=0;
}
void main(void)
{
SetBusblock();
pwm_init();
ECT_init();
EnableInterrupts;
for(;;)
{
Speedout();
}
}
/*******************************************************
中断服务函数
返回sudu
*******************************************************/
#pragma CODE_SEG NON_BANKED
void interrupt 10 IC2_ISR(void)
{
PulseCnt++; //采集脉冲
TFLG1=0x04;
}
#pragma CODE_SEG NON_BANKED
void interrupt 11 IC3_ISR(void)
{
TC3=TCNT+1875; //10ms
TFLG1=0x08;
sudu=PulseCnt; // 采集速度
PulseCnt=0x00;
}
#pragma CODE_SEG DEFAULT
作者:
sehszf
时间:
2009-5-3 11:17
程序进不了
中断程序
作者:
空间荒人
时间:
2009-5-3 18:06
给TC3一定初值试试,当TCNT=TC3时,才会进入中断
作者:
yuhuo1989
时间:
2009-5-3 18:40
刚才试了你说的方法,但还是不行,不过谢谢你的帮忙!
3#
空间荒人
作者:
xiaopang1989
时间:
2009-5-17 21:30
用BDM调试用程序单步执行,看问题出在哪!!!
作者:
fengnan
时间:
2010-4-11 21:08
是的 你先检查硬件 没有问题的话单步运行
作者:
tiankai
时间:
2010-6-12 20:53
你先检查硬件 没有问题的话单步运行
作者:
tiankai
时间:
2010-6-12 20:53
你先检查硬件 没有问题的话单步运行
作者:
tiankai
时间:
2010-6-12 20:53
你先检查硬件 没有问题的话单步运行
作者:
tiankai
时间:
2010-6-12 20:53
你先检查硬件 没有问题的话单步运行
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2