求教,怎么设置串口通信中的串口定时发送送

单片机中如何设置让T1作为波特率发生器进行串口通信,同时T0作为定时器使用?100分奉上,解决再加!单片机中如何设置让T1作为波特率发生器进行串口通信,同时T0-知识宝库
你可能对下面的信息感兴趣21ic官方微信-->
后使用快捷导航没有帐号?
查看: 1415|回复: 20
定时器和串行通信
&&已结帖(20)
主题帖子积分
中级技术员, 积分 246, 距离下一级还需 54 积分
中级技术员, 积分 246, 距离下一级还需 54 积分
主题帖子积分
专家等级:结帖率:94%
主题帖子积分
中级技术员, 积分 246, 距离下一级还需 54 积分
中级技术员, 积分 246, 距离下一级还需 54 积分
请问下为什么串行通信用T1做波特率发生器 ,T0定时会出现单独使用不出问题&&但是两个定时器一起的话就出现干扰&&这是为什么&&求解释
满意回复+10
void time0_init()
//定时器0初始化
和串口通信初始化
TMOD | = 0x20;
SCON &=0x50;//
//SM0=0; //方 ...
简单来说就是要想办法证明你程序工作的要素都是存在的。楼主缺的是调试程序的方法,而不是具体调试一个程序。建议读本版精华“程序调试黑宝书” ...
T1用作串口波特率时,不要开T1中断,否则你没写中断函数,程序就会跳错
主题帖子积分
高级工程师, 积分 6738, 距离下一级还需 1262 积分
高级工程师, 积分 6738, 距离下一级还需 1262 积分
主题帖子积分
专家等级:结帖率:53%打赏:0.00受赏:15.00
主题帖子积分
高级工程师, 积分 6738, 距离下一级还需 1262 积分
高级工程师, 积分 6738, 距离下一级还需 1262 积分
多半你自己的问题
本人熟悉STM32、PIC、AVR等嵌入式软件开发;联系方式:.
主题帖子积分
主题帖子积分
专家等级:结帖率:93%打赏:0.00受赏:18.00
主题帖子积分
“两个”定时器是指哪两个?
*****二姨公开课***新课上线*****
《印刷电路板设计进阶》,12年积累的设计经验。
直播更新中,特价优惠!
《印刷电路板设计基础》,服务新手,践行工程设计!
!前100份限量优惠折上折,欲购从速!
主题帖子积分
中级技术员, 积分 246, 距离下一级还需 54 积分
中级技术员, 积分 246, 距离下一级还需 54 积分
主题帖子积分
专家等级:结帖率:94%
主题帖子积分
中级技术员, 积分 246, 距离下一级还需 54 积分
中级技术员, 积分 246, 距离下一级还需 54 积分
NE5532 发表于
“两个”定时器是指哪两个?
T1和T0,为什么么啊
主题帖子积分
中级技术员, 积分 246, 距离下一级还需 54 积分
中级技术员, 积分 246, 距离下一级还需 54 积分
主题帖子积分
专家等级:结帖率:94%
主题帖子积分
中级技术员, 积分 246, 距离下一级还需 54 积分
中级技术员, 积分 246, 距离下一级还需 54 积分
yklstudent 发表于
多半你自己的问题
单独都可以啊&&,这是为什么???
主题帖子积分
主题帖子积分
专家等级:结帖率:93%打赏:0.00受赏:18.00
主题帖子积分
请描述你的“干扰”现象,51的这个结构在20年前就有了,楼主多怀疑自己的问题。
*****二姨公开课***新课上线*****
《印刷电路板设计进阶》,12年积累的设计经验。
直播更新中,特价优惠!
《印刷电路板设计基础》,服务新手,践行工程设计!
!前100份限量优惠折上折,欲购从速!
主题帖子积分
中级技术员, 积分 246, 距离下一级还需 54 积分
中级技术员, 积分 246, 距离下一级还需 54 积分
主题帖子积分
专家等级:结帖率:94%
主题帖子积分
中级技术员, 积分 246, 距离下一级还需 54 积分
中级技术员, 积分 246, 距离下一级还需 54 积分
NE5532 发表于
请描述你的“干扰”现象,51的这个结构在20年前就有了,楼主多怀疑自己的问题。 ...
我知道我的问题&&但是没查出来
void time0_init()& & & & & & & & & & & & //定时器0初始化& & & & 和串口通信初始化
& & & & EA=1;
& & & & ET1=1;& & & &
& & & & ET0=1;
& & & & TR1=1;
& & & & TR0=1;
& & & & ES=1;
//& & & & PT1=1;
& & & & TMOD|=0X20;
& & & & TH1=0XFD;
& & & & TL1=0XFD;
& & & & SM0=0;& & & & & & & & & & & && &//方式选择位
& & & & SM1=1;& & & & & & & &&&& & & & //
& & & & REN=1;& & & & & & & & & & & & //串行通信通信允许位
void time0()interrupt 1& & & && &//定时器0
& & & && & & &
& & & & TH0=()/256;
& & & & TL0=()%256;
& & & & i++;
& & & & if(i==2)& & & & //刷新数据为每100ms
& & & & & & & & i=0;
& & & & & & & & shuaxin=1;
void uart()interrupt 4& && & //串行通信
& & & & static uchar i,& & & &
& & & & if(RI)
& & & & & & & & RI=0;
& & & & & & & & temp=SBUF;
& & & & & & & & SBUF=
& & & & & & & & i++;
& & & && &&&time_uart=temp&0x0f;
& & & & & & & & if(i==16)
& & & & & & & & {
& & & & & & & & & & & & i=0;
& & & & & & & & & & & & biaozhi=1;
& & & & & & & & }& & & &
& & & & if(TI)
& & & & & & & & TI=0;
void main(void) & & & & //主函数
& & & & time0_init();& & & & //函数的初始化
& & & & ds1302_init();
& & & & ds_writeall();
& & & & while(1)
& & & && & display();
& & & && & if(biaozhi==1)
& & & && & {
& & & && & & & & & & & & & for(i=0;i&8;i++)
& & & & & & & & & & & & {
& & & & & & & & & & & & & & & & time_begin=time_uart[2*i]*10+time_uart[2*i+1];
& & & & & & & & & & & & }
& & & & & & & & & & & & ds_writeall();& & & &
& & & & & & & & & & & & biaozhi=0;
& & & && & }
& & & && & if(shuaxin==1)
& & & && & {
& & & && & & & & & & & & & shuaxin=0;
& & & & & & & & & & & & ds_receiveall();
& & & && & }
& & & && & shu[0]=duanma[time_begin[4]/10];
& & & && & shu[1]=duanma[time_begin[4]%10];
& & & && & shu[2]=0x40;
& & & && & shu[3]=duanma[time_begin[5]/10];
& & & && & shu[4]=duanma[time_begin[5]%10];
& & & && & shu[5]=0x40;
& & & && & shu[6]=duanma[time_begin[6]/10];
& & & && & shu[7]=duanma[time_begin[6]%10];
}这是程序的一部分我做的是串口发送数据调整数码管时间信息 问题在于同时使用T1和T0,数码管时钟无**常工作
主题帖子积分
主题帖子积分
专家等级:结帖率:93%打赏:0.00受赏:18.00
主题帖子积分
请描述“无**常工作”的现象。
*****二姨公开课***新课上线*****
《印刷电路板设计进阶》,12年积累的设计经验。
直播更新中,特价优惠!
《印刷电路板设计基础》,服务新手,践行工程设计!
!前100份限量优惠折上折,欲购从速!
主题帖子积分
中级技术员, 积分 246, 距离下一级还需 54 积分
中级技术员, 积分 246, 距离下一级还需 54 积分
主题帖子积分
专家等级:结帖率:94%
主题帖子积分
中级技术员, 积分 246, 距离下一级还需 54 积分
中级技术员, 积分 246, 距离下一级还需 54 积分
NE5532 发表于
请描述“无**常工作”的现象。
就是如果T0 开启T1不开启数码管显示正常&&如果T1开启T0不开启串口发送数据能接受,而如果同时开启要摸
数码管显示但是串口助手发送数据无效 要摸串口发送数据有效 但是数码管不显示&&,反正就是不能一起工作
主题帖子积分
主题帖子积分
专家等级:结帖率:93%打赏:0.00受赏:18.00
主题帖子积分
T1打开,T0关闭,数码管是停止扫描的,你怎么判断串口能接收数据的呢?另外你的数码管不显示是指显示完全熄灭,还是显示的东西不是你发送的,还是显示乱码?新同学要学会描述现象,不要像太婆修电视一样,只知道一句:就是不好使。
*****二姨公开课***新课上线*****
《印刷电路板设计进阶》,12年积累的设计经验。
直播更新中,特价优惠!
《印刷电路板设计基础》,服务新手,践行工程设计!
!前100份限量优惠折上折,欲购从速!
主题帖子积分
中级技术员, 积分 246, 距离下一级还需 54 积分
中级技术员, 积分 246, 距离下一级还需 54 积分
主题帖子积分
专家等级:结帖率:94%
主题帖子积分
中级技术员, 积分 246, 距离下一级还需 54 积分
中级技术员, 积分 246, 距离下一级还需 54 积分
NE5532 发表于
T1打开,T0关闭,数码管是停止扫描的,你怎么判断串口能接收数据的呢?另外你的数码管不显示是指显示完全熄 ...
不好意思啊&&那个数码管就是完全不显示&&串口成功发送有返回值
主题帖子积分
主题帖子积分
专家等级:结帖率:93%打赏:0.00受赏:18.00
主题帖子积分
用串口写一个发送测试,放到扫描定时器中断里面,看这个中断是否在发生。
*****二姨公开课***新课上线*****
《印刷电路板设计进阶》,12年积累的设计经验。
直播更新中,特价优惠!
《印刷电路板设计基础》,服务新手,践行工程设计!
!前100份限量优惠折上折,欲购从速!
主题帖子积分
中级技术员, 积分 246, 距离下一级还需 54 积分
中级技术员, 积分 246, 距离下一级还需 54 积分
主题帖子积分
专家等级:结帖率:94%
主题帖子积分
中级技术员, 积分 246, 距离下一级还需 54 积分
中级技术员, 积分 246, 距离下一级还需 54 积分
NE5532 发表于
用串口写一个发送测试,放到扫描定时器中断里面,看这个中断是否在发生。 ...
原谅我是新手 可以说的详细一点吗&&不太懂
主题帖子积分
主题帖子积分
专家等级:结帖率:93%打赏:0.00受赏:18.00
主题帖子积分
简单来说就是要想办法证明你程序工作的要素都是存在的。楼主缺的是调试程序的方法,而不是具体调试一个程序。建议读本版精华“程序调试黑宝书”
*****二姨公开课***新课上线*****
《印刷电路板设计进阶》,12年积累的设计经验。
直播更新中,特价优惠!
《印刷电路板设计基础》,服务新手,践行工程设计!
!前100份限量优惠折上折,欲购从速!
主题帖子积分
中级技术员, 积分 246, 距离下一级还需 54 积分
中级技术员, 积分 246, 距离下一级还需 54 积分
主题帖子积分
专家等级:结帖率:94%
主题帖子积分
中级技术员, 积分 246, 距离下一级还需 54 积分
中级技术员, 积分 246, 距离下一级还需 54 积分
NE5532 发表于
简单来说就是要想办法证明你程序工作的要素都是存在的。楼主缺的是调试程序的方法,而不是具体调试一个程序 ...
主题帖子积分
主题帖子积分
专家等级:结帖率:97%打赏:0.30受赏:91.00
主题帖子积分
小盼abc 发表于
我知道我的问题&&但是没查出来
void time0_init()& & & & & & & & & & & & //定时器0初始化& & & & 和串口通信初始化
T1用作串口波特率时,不要开T1中断,否则你没写中断函数,程序就会跳错
天降大任于斯国也,必先霾其头,灰其脸,黄其皮肤,自一头雾水而出,方知其堪当大任也!
主题帖子积分
高级技术员, 积分 562, 距离下一级还需 438 积分
高级技术员, 积分 562, 距离下一级还需 438 积分
主题帖子积分
专家等级:结帖率:50%
主题帖子积分
高级技术员, 积分 562, 距离下一级还需 438 积分
高级技术员, 积分 562, 距离下一级还需 438 积分
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;
应该是初始化的问题 同意楼上的看法
(PS:初始化结构写的很不规范,建议LZ看看大虾们的初始化如何写的;使用什么就只开什么,别的一概关闭,免得到时候出现乱七八糟的问题,可以在纸上罗列一番,无论程序大小。祝君成功!!!)
————珍爱生命,远离A莫————
————开源节流,莫痞必S————
主题帖子积分
主题帖子积分
专家等级:结帖率:100%打赏:0.10受赏:5.10
主题帖子积分
对于复杂的问题,就是分成数步拆出来,
程序一步步叠加上去,看看哪个环节出错...
烧板千遍,其义自见...
所得的体会就是深刻的,具体的,永不再犯的..
我为我自己代言...
我发心,待人以诚,处事以真,帮助菜鸟,凝听异见,成就自我..
主题帖子积分
技术总监, 积分 39928, 距离下一级还需 10072 积分
技术总监, 积分 39928, 距离下一级还需 10072 积分
主题帖子积分
专家等级:结帖率:3%
主题帖子积分
技术总监, 积分 39928, 距离下一级还需 10072 积分
技术总监, 积分 39928, 距离下一级还需 10072 积分
T1不要开中断
开了,你至少要写个简单中断处理程序啊
主题帖子积分
初级工程师, 积分 2145, 距离下一级还需 855 积分
初级工程师, 积分 2145, 距离下一级还需 855 积分
主题帖子积分
专家等级:结帖率:43%打赏:0.10受赏:5.10
主题帖子积分
初级工程师, 积分 2145, 距离下一级还需 855 积分
初级工程师, 积分 2145, 距离下一级还需 855 积分
中断响应优先级也别开了&&
DSP园地欢迎大家加入!群号:
我要成为海贼,不停的打胜仗,永不言败,要获得最高的名声,只有这样才能证明我的存在!
技术新星奖章
人才类勋章
技术导师奖章
人才类勋章
时间类勋章
沉静之湖泊
发帖类勋章
突出贡献奖章
等级类勋章
终身成就奖章
等级类勋章
坚毅之洋流
发帖类勋章
时间类勋章
技术领袖奖章
人才类勋章
核心会员奖章
等级类勋章
时间类勋章
涓涓之细流
发帖类勋章
无冕之王奖章
等级类勋章
时间类勋章
技术高手奖章
人才类勋章
荣誉元老奖章
等级类勋章
欢快之小溪
发帖类勋章
时间类勋章
社区建设奖章
等级类勋章
热门推荐 /3403 Forbidden
403 Forbidden}

我要回帖

更多关于 stm32 定时串口发送 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信