完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 zy2014 于 2014-4-16 07:39 编辑
1.程序用的是串行口工作方式1,那么定时器1就被作为波特率发生器,TR1=1用来启用工作方式2.TH1 TL1 用来指定波特率,还有这个值是根据晶振和波特率计算出来的 3.串行口都没有工作,TI估计不起作用吧,不应该进入死循环吧(这个我也不懂) 可以想一下,波特率没有设置,单片机怎么知道你的串口调试程序以什么的波特率来接收数据呢?又怎么会出来'A'?
最佳答案
|
|
|
|
TI,发送中断标志位。在方式0时,当串行发送第8位数据结束时,或在其它方式,串行发送停止位的开始时,由内部硬件使TI置1,向CPU发中断申请。在中断服务程序中,必须用软件将其清0,取消此中断申请。
1.不明白你的程序是什么意思?想表明什么问题 2.串口没有初始化,通信频率没有设置 //将程序烧写到板子后要重置一下,消除串口干扰
串口程序初始化步骤: 确定T1的工作方式(编程TMOD寄存器); 计算T1的初值,装载TH1、TL1; 启动T1(编程TCON中的TR1位); 确定串行口控制(编程SCON寄存器); 如果串行口在中断方式工作时,要进行中断设置(编程IE、IP寄存器)。 |
|
|
|
第二个程序没有串口程序初始化,但是不应该在while(!TI)处进行死循环吗?我重置了以后,不应该会收到一个’A‘?但是我没有收到; 是不是说如果没有初始化就不会进入中断,没有进入中断 TI 就不会硬件置1? |
|
|
|
谢谢你的回答 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
690 浏览 0 评论
735 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
624 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
1099 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1092 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11795 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 14:05 , Processed in 1.136911 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号