STC15W1K24S启用定时器0定时器2控制电机,定时器1波特率发生器,死活调不出
2023-9-19 20:06 来自 caishifu 发布 @ 综合讨论
写了一个测试程序,定时器0定时器2启动后计数200次取反IO,
不启动定时器1做波特率发生器可以工作,启动定时器1后就乱了。
/***定时器0中断电机手动控制*********************************/
void timer0() interrupt 1
{
vala++;
if(vala>=200)
{
vala=0;
DIR0=~DIR0; //
DIR1=~DIR1; //
}
if(MotoraRun_Flag==1) //电机A为1启动X电机
{
}
if(MotorbRun_Flag==1) //电机A为1启动X电机
{
}
if(MotorcRun_Flag==1) //电机A为1启动X电机
{
}
if(MotordRun_Flag==1) //电机A为1启动X电机
{
}
}
/***定时器2中断运行函数 判断电机运行为一启动输出***/
/***自动控制状态************************/
void t2int() interrupt 12 //中断入口
{
valb++;
if(valb>=200)
{
valb=0;
CP0=~CP0;
CP1=~CP1;
}
}
/*------------
不启动定时器1做波特率发生器可以工作,启动定时器1后就乱了。
/***定时器0中断电机手动控制*********************************/
void timer0() interrupt 1
{
vala++;
if(vala>=200)
{
vala=0;
DIR0=~DIR0; //
DIR1=~DIR1; //
}
if(MotoraRun_Flag==1) //电机A为1启动X电机
{
}
if(MotorbRun_Flag==1) //电机A为1启动X电机
{
}
if(MotorcRun_Flag==1) //电机A为1启动X电机
{
}
if(MotordRun_Flag==1) //电机A为1启动X电机
{
}
}
/***定时器2中断运行函数 判断电机运行为一启动输出***/
/***自动控制状态************************/
void t2int() interrupt 12 //中断入口
{
valb++;
if(valb>=200)
{
valb=0;
CP0=~CP0;
CP1=~CP1;
}
}
/*------------
免责声明:
本平台旨在开源共享精神,请勿发布敏感信息,任何违法信息我们将移交公安机关;