OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子新作:阿波罗STM32F767&F429&探索者STM32F4开发板&赶快来下载资料哦。

查看: 677|回复: 2

麻烦看一下为什么没有数据啊

[复制链接]

  离线 

1

主题

1

帖子

0

精华

新手入门

积分
14
金钱
14
注册时间
2018-5-22
在线时间
0 小时
发表于 2018-5-22 16:58:17 | 显示全部楼层 |阅读模式
1金钱
#include <reg51.h>
unsigned char c;
void InitUART(void)
{
    TMOD = 0x20;
    SCON = 0x50;
    TH1 = 0xFD;
    TL1 = TH1;
    PCON = 0x00;
    EA = 1;
    ES = 1;
    TR1 = 1;
}
void SendOneByte(c)
{
   c = P1^1;
   SBUF = c;
    while(!TI);
    TI = 0;
}
void main(void)
{
    InitUART();
  
}
void UARTInterrupt(void) interrupt 4
{
    if(RI)
    {
        RI = 0;
SendOneByte(c);
    }
    else
        TI = 0;
}

回复

使用道具 举报

  离线 

13

主题

456

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1379
金钱
1379
注册时间
2017-4-14
在线时间
510 小时
发表于 2018-5-23 12:38:39 | 显示全部楼层
你这是要实现啥呀,发送c c又用c = P1^1;赋值
回复

使用道具 举报

  离线 

0

主题

12

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2018-5-19
在线时间
3 小时
发表于 2018-5-29 20:38:46 | 显示全部楼层
首先,最致命的一个问题是,你的主函数没有while(1)大循环,其次,你在程序中并没有主动触发数据的发送,按你的逻辑,你应该用串口助手任意发一个数据下来,就能按你的逻辑,按原值原路返回一个数据到你的串口助手了。有疑问可加我的微信,baofeng_zouyu
回复

使用道具 举报

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

本版积分规则




QQ|联系我们|手机版|官方淘宝店|新浪微博|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2018-6-18 19:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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