两定时器一起就干扰

[复制链接]
2356|29
heweibig 发表于 2021-5-9 18:40 | 显示全部楼层
用串口写一个发送测试,放到扫描定时器中断里面,看这个中断是否在发生。
 楼主| zhuww 发表于 2021-5-9 18:42 | 显示全部楼层
原谅我是新手 可以说的详细一点吗  不太懂
zhanglli 发表于 2021-5-9 18:43 | 显示全部楼层
简单来说就是要想办法证明你程序工作的要素都是存在的。楼主缺的是调试程序的方法,而不是具体调试一个程序。建议读本版精华“程序调试黑宝书”
spark周 发表于 2021-5-9 18:45 | 显示全部楼层
T1用作串口波特率时,不要开T1中断,否则你没写中断函数,程序就会跳错
wangpe 发表于 2021-5-9 18:47 | 显示全部楼层

void time0_init()                        //定时器0初始化        和串口通信初始化
{
        TMOD | = 0x20;
        SCON &=0x50;//        //SM0=0; //方式选择位//SM1=1; // REN=1;                        //串行通信通信允许位
        TH1 = 0xFD;
        TL1 = 0XFD;
         TR1=1;
        TR0=1;        
        
//——>  ET1=1;——> 这里为什么要开启T1的中断呢? 定时器1不是已经是波特率发生器用了嘛!      
        ET0=1;
        ES=1;
        EA=1;
//     PT1=1;
}
应该是初始化的问题 同意楼上的看法
langgq 发表于 2021-5-9 18:49 | 显示全部楼层

对于复杂的问题,就是分成数步拆出来,
程序一步步叠加上去,看看哪个环节出错...
烧板千遍,其义自见...
所得的体会就是深刻的,具体的,永不再犯的..
jiajs 发表于 2021-5-9 18:51 | 显示全部楼层

T1不要开中断

开了,你至少要写个简单中断处理程序啊
jlyuan 发表于 2021-5-9 18:53 | 显示全部楼层

中断响应优先级也别开了  
chuxh 发表于 2021-5-9 18:55 | 显示全部楼层
t0初始化里面 怎么出现了T1的配置呢? 名称跟实际不一样。 配置的话 最好使各自是自己的最好,理解上容易些,排错也容易。
 楼主| zhuww 发表于 2021-5-9 19:01 | 显示全部楼层
哦,那我就知道怎么回事了,多谢大家
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部