1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
求助各位大神
小弟在编写程序的过程中碰到了如题所示的问题,三个定时器其中0和1用于定时,定时器2用于波特率发生器,但是一旦将串口发送的函数放在main大循环中,串口没有输出,但是放在main的循环前面,串口是可以执行一次的,而且T2初始化之后要想保证T0 T1正常,必须重新给T0 T1初始化,以下是部分代码: void T2init() { T2MOD = 0x01; //自动重载 T2CON = 0x30; //T2用做发送接收时钟 // TH2 = 0xFF; //9600波特率,11.0592Mhz晶振 // TL2 = 0xDC; RCAP2H = 0xFF; RCAP2L = 0xDC; SCON = 0x50; //串口方式1,1个起始位,1个停止位,8位数据 TR2 = 1; //启动T2 } main() { int i; int j; IP=0X10; t=30000; T2init(); // uart_cfg(); send_string(alarm); delay(5); send_string(weizhi); // a=0; //发送报警之后恢复T0 T1基本参数 TH0=(65536-t)/256; TL0=(65536-t)%256; TMOD=0X11; TR0=0X01; TF0=0X00; PT0=0; ET0=0X01; TH1=0xd8; TL1=0xef; TR1=0X01; TF1=0X00; PT1=1; ET1=0X01; while(1) { //圈数计算 j=z/4; i=j; ge=i%10; i=j/10; shi=i%10; i=j/100; bai=i%10; i=j/1000; qian=i%10; i=j/10000; wan=i%10; //键盘显示值计算 P1=0x0f; if(P1!=0x0f&&a==0)//电机未运转则键盘有效 { if(P1!=0x0f&&a==0) { Key_Scan(); } if(key==15) //清零 { age=0; ashi=0; abai=0; aqian=0; awan=0; x=0; m=0; // (*((void (*)())(rst)))(); // 将rst数组当函数调用 产生复位效果 (已经屏蔽) } else if(m<6553) //键盘设定值要小于65535 { m=m*10+key; age=m%10; n=m/10; ashi=n%10; n=m/100; abai=n%10; n=m/1000; aqian=n%10; n=m/10000; awan=n%10; x=m; } while(P1!=0xf0); } if(already==0) { if(z/2==x) { //a=~a; b=~b; already=1; } } while(P3_7) //开关 { while(P3_7) ; a=~a; } while(P3_6) //方向 { while(P3_6) ; b=~b; } while(P3_5) //减速 { while(P3_5); // t值最大为65535 if(t<=40000) { t=t+10000; } } while(P3_4) //加速 { while(P3_4) ; if(t>=20000) { t=t-10000; } } } |
|
相关推荐
5个回答
|
|
不管你使用那款单片机,只要是想同时使用两个定时器,你就必须求出它俩的公约数,你明白吗?
|
|
|
|
定时器同时使用这个得看手册介绍怎么解决吧
|
|
|
|
这个不太懂 谢谢您 之前没接触过这个问题 |
|
|
|
|
|
|
|
对于你的问题描述和所想要实现的目的不太明白,对于在main的while里无法发送串口的问题,在while里并没有看到你有发送串口数据的操作,至于T0,T1需要在T2初始化后才能初始化,那有可能是在T2初始化时,影响到了T0,T1设置的某些寄存器,这个需要查看手册,T2是非标准51的,所以不同公司的51芯片的T2设置有可能不同
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
《DNESP32S3使用指南-IDF版_V1.6》第三十五章 摄像头实验
846 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第三十章 DHT11数字温湿度传感器
820 浏览 0 评论
910 浏览 0 评论
【敏矽微ME32G070开发板免费体验】之原厂2812测试例程解析
1693 浏览 0 评论
1307 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12076 浏览 31 评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-31 00:12 , Processed in 0.648209 second(s), Total 82, Slave 65 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号