请选择 进入手机版 | 继续访问电脑版

普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 6007|回复: 5

[已解决] 串口通信为哈发送与接受不一样

[复制链接]

3

主题

8

帖子

33

积分

新手上路

Rank: 1

积分
33
发表于 2020-7-19 15:12:08 | 显示全部楼层 |阅读模式
1金钱
/****************************************************************
**********************
实验现象:下载程序后,操作 K3 按键使 D1 状态取反
接线说明: (具体接线图可见开发攻略对应实验的“实验现象”章节)
1,单片机-->LED&交通灯模块
P20-->D1
2,单片机-->独立按键模块
P32-->K3
注意事项:
*****************************************************************
**********************/
#include "reg51.h" //此文件中定义了单片机的一些特殊功能寄存器
typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;

/****************************************************************
***************
* 函 数 名 : delay
* 函数功能 : 延时函数,i=1 时,大约延时 10us
*****************************************************************
**************/
void UsartInit()
{
        TMOD=0x20;
        SCON=0x50;
        EA=1;
        ES=1;
        TR1=1;
        TH1=0xf3;
        TL1=0xF3;
        PCON=0x80;

}
/****************************************************************
***************
* 函 数 名 : Int1Init()
* 函数功能 : 设置外部中断 1
* 输 入 : 无
* 输 出 : 无
*****************************************************************
**************/

/****************************************************************
***************
* 函 数 名 : main
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
*****************************************************************
**************/
void main()
{
        UsartInit();
        while(1);
}
/****************************************************************
***************
* 函 数 名 : Int0() interrupt 0
* 函数功能 : 外部中断 0 的中断函数
* 输 入 : 无
* 输 出 : 无
*****************************************************************
**************/
void Usart() interrupt 4 //外部中断 0 的中断函数
{
          u8 i;
          i=SBUF;
          RI=0;
          SBUF=i;
          while(~TI);
          TI=0;

}

最佳答案

你看看开发板上的晶振是多大的 如果晶振上写的是11.0592的话 你把程序里的0XF3改为0XF4即可

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册
回复

使用道具 举报

20

主题

216

帖子

1115

积分

金牌会员

Rank: 6Rank: 6

积分
1115
发表于 2020-7-20 08:29:17 | 显示全部楼层
你看看开发板上的晶振是多大的 如果晶振上写的是11.0592的话 你把程序里的0XF3改为0XF4即可
回复

使用道具 举报

3

主题

8

帖子

33

积分

新手上路

Rank: 1

积分
33
 楼主| 发表于 2020-7-20 09:06:26 | 显示全部楼层
Nanachi 发表于 2020-7-20 08:29
你看看开发板上的晶振是多大的 如果晶振上写的是11.0592的话 你把程序里的0XF3改为0XF4即可

感谢。为哈十以内的数发送不过去呢?请教
回复

使用道具 举报

20

主题

216

帖子

1115

积分

金牌会员

Rank: 6Rank: 6

积分
1115
发表于 2020-7-21 08:28:33 | 显示全部楼层
咩咩咩 发表于 2020-7-20 09:06
感谢。为哈十以内的数发送不过去呢?请教

你是说2位数以上的数据发送不了吧? 这是因为SBUF只能发送1个字节数据 如果你要发送多个字节 需要做一个数组作为缓存 一个个发送
回复

使用道具 举报

3

主题

8

帖子

33

积分

新手上路

Rank: 1

积分
33
 楼主| 发表于 2020-7-21 11:19:46 | 显示全部楼层
Nanachi 发表于 2020-7-21 08:28
你是说2位数以上的数据发送不了吧? 这是因为SBUF只能发送1个字节数据 如果你要发送多个字节 需要做一个 ...

我晓得了。谢谢道友
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-4-19 03:31 , Processed in 0.090453 second(s), 38 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表