完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大神,请教一下51单片机串口发送的问题:当我用以下代码一 以hex模式发送和接收时,信息不一致。
#include void ConfigUART(unsigned int baud); void main() { EA = 1; //使能总中断 ConfigUART(9600); //配置波特率为9600 while(1); } void ConfigUART(unsigned int baud) { SCON = 0x50; //配置串口为模式1 TMOD &= 0x0F; //清零T1的控制位 TMOD |= 0x20; //配置T1为模式2 TH1 = 256 - (11059200/12/32)/baud; //计算T1重载值 TL1 = TH1; //初值等于重载值 ET1 = 0; //禁止T1中断 ES = 1; //使能串口中断 TR1 = 1; //启动T1 } void InterruptUART() interrupt 4 { if(RI) { RI = 0; SBUF = SBUF + 1; } if(ti) { TI = 0; } } 当我用以下代码二 以hex模式发送和接收时,信息一致。 /******************************************************************************* * 实验名 : 串口实验 * 使用的IO : P2 * 实验效果 : 将接收到发送回电脑上面。 * 注意 : *******************************************************************************/ #include void UsartConfiguration(); /******************************************************************************* * 函数名 : main * 函数功能 : 主函数 * 输入 : 无 * 输出 : 无 *******************************************************************************/ void main() { UsartConfiguration(); while(1) { } } /******************************************************************************* * 函数名 :UsartConfiguration() * 函数功能 :设置串口 * 输入 : 无 * 输出 : 无 *******************************************************************************/ void UsartConfiguration() { SCON=0X50; //设置为工作方式1 TMOD=0X20; //设置计数器工作方式2 PCON=0X80; //波特率加倍 TH1=0XF3; //计数器初始值设置,注意波特率是4800的 TL1=0XF3; ES=1; //打开接收中断 EA=1; //打开总中断 TR1=1; //打开计数器 } /******************************************************************************* * 函数名 :Delay(unsigned int i) * 函数功能 : 延时函数 * 输入 : 无 * 输出 : 无 *******************************************************************************/ void Usart() interrupt 4 { unsigned char receiveData; receiveData=SBUF;//出去接收到的数据 RI = 0;//清除接收中断标志位 SBUF=receiveData+1;//将接收到的数据放入到发送寄存器 while(!TI); //等待发送数据完成 TI=0; //清除发送完成标志位 } 请教原因,谢谢。 |
|
相关推荐
4个回答
|
|
这个就要看看你自己了
|
|
|
|
应该是波特率没有设置好。两种方法计算出来的波特率不一致吧
|
|
|
|
|
|
TH1 = 256 - (11059200/12/32)/baud; //计算T1重载值 这步骤什么意思求解
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
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积木平台
11794 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 08:11 , Processed in 0.589395 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号