3923|2

120

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

串口通信程序为何只能发送接受2位? [复制链接]

#include
typedef   unsigned char  uint32;
typedef   unsigned int   uint16;
uint32 num = 0;
void UART_init(void) /** UART初始化函数, 波特率:9600*/
{     SCON = 0x50;//同例1
       TMOD = 0x20;
       TH1  = 0xFD;
       TL1  = 0xFD;
       TR1  = 1;
       ES = 1; //中断使能打开
       EA  = 1; }
main()
{     UART_init();//调用特殊功能寄存器初始化函数
       while(1);}//等待,
void interrupt_uart() interrupt 4
{    if(TI)// 发送中断标志TI,发送完,该位由硬件置1
       {     TI = 0;//发清零
              REN = 1;}//发送完允许接受,
        if(RI)//接受进中断,该位由硬件置1。执行本if
       {     RI = 0;//清零
              num = SBUF;//把数据取出来
              num++;
              SBUF = num; //数据发送出去
              REN  = 0; } }//发送的时候禁止接受
用串口助手:输入两位加1显示,但是输入1位或2位以上不行?
此帖出自51单片机论坛

最新回复

因为你是以十六进制发送接收的   你把它写成两位啊   6 写成06  多位的话这么写 12 34 。。。。两位两位隔开  详情 回复 发表于 2012-8-20 18:17
点赞 关注
个人签名我来到
 

回复
举报

11

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
因为你是以十六进制发送接收的   你把它写成两位啊   6 写成06  多位的话这么写 12 34 。。。。两位两位隔开
此帖出自51单片机论坛
 
 
 

回复

120

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
恩 谢谢了
此帖出自51单片机论坛
 
个人签名我来到
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表