电脑串口接收不到单片机发过来的数据,但是单片机可以接收电脑串口数据...

main(void){TMOD=0x20;//定时器R1的工作方式为2,定时器0的工作方式为0TH1=0xfd;//R1的溢出率,TR1=1;PCON=0x00;//波特... main(void){
TMOD=0x20;//定时器R1的工作方式为2,定时器0的工作方式为0
TH1 =0xfd; //R1的溢出率 ,
TR1 =1;
PCON =0x00;//波特率不提高一倍
SCON =0x50;//设置工作方式为1,可以接收数据
ET1 =0;//关闭定时器1的中断响应
ES =1; //打开串口接收中断
EA =1;

while(1){
// if(p3_6==0){
SBUF='a';
while(!TI);
TI=0;
}
}
我的java上位机:http://pan.baidu.com/share/link?shareid=353642754&uk=2904981350
展开
 我来答
迪凯特科技(北京)有限公司_ 2025-01-03
展开全部
首先,获取单片机和串口屏的通信协议; 其次,在PC中编写串口通信软件,分别控制两个设备即可; 调试的时候,可以先用现有的串口助手类软件如串口调试助手,或者自定义协议功能的通信软件如格西烽火,测试和验证你定义的协议…
zhxiufan
2013-08-17 · 知道合伙人软件行家
zhxiufan
知道合伙人软件行家
采纳数:14923 获赞数:38387
国家科技进步奖

向TA提问 私信TA
展开全部
#include<reg51.h>
main(void){
TMOD=0x20;//定时器R1的工作方式为2,定时器0的工作方式为0
TH1 =0xfd; //R1的溢出率 ,
TL1=0xfd;
TR1 =1;
PCON =0x00;//波特率不提高一倍
SCON =0x50;//设置工作方式为1,可以接收数据
// ET1 =0;//关闭定时器1的中断响应
// ES =1; //打开串口接收中断
// EA =1;

while(1){
// if(p3_6==0){
SBUF='a';
while(!TI);
TI=0;
}
}
追问
电脑可以接收数据,串口调试助手的接收区也显示接收的字符。但是自己写的上位机不显示接收的字符,我上位机:http://pan.baidu.com/share/link?shareid=353642754&uk=2904981350
你帮我看看吧,不知道为什么啊
追答
呵呵,我不太熟悉JAVA
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
迪凯特科技(北京)有限公司_
2025-01-03 广告
要从电脑的一个串行口接收数据并将其从另一个串行口发送出去,你可以使用以下步骤:1. 确定你要使用的两个串行口。在大多数计算机上,串行口通常被称为COM1、COM2等。确保你了解每个串行口的名称或编号。2. 编写一个程序来读取来自一个串行口的... 点击进入详情页
本回答由迪凯特科技(北京)有限公司_提供
魏巍1988815
2013-08-17
知道答主
回答量:7
采纳率:0%
帮助的人:5.7万
展开全部
你没有串口中断服务程序,可以这样写 void txd_interrupt(void) interrupt 4 {
SBUF='a';
while(!TI);

}就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
平民化妆师
2013-08-17 · TA获得超过282个赞
知道答主
回答量:185
采纳率:0%
帮助的人:144万
展开全部
ES =1; //打开串口接收中断
这个为什么要打开的,你又没有处理中断程序
希望被采纳
更多追问追答
追问
打不打开又没区别,我就不知道为什么接收不到数据....
追答
模拟串口那边是不是波特率设置错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式