搜索
bottom↓
回复: 17

开发板附带的串口通讯程序实例居然接收不到数据,求高...

[复制链接]

出0入0汤圆

发表于 2013-5-28 23:16:01 | 显示全部楼层 |阅读模式
本帖最后由 yangbing2020 于 2013-5-28 23:17 编辑

#include<reg52.h>                   //包含52单片机寄存器头文件
#include<intrins.h>                           //包含内部函数头文件(移位/查询)
unsigned char tmp;                                           //定义tmp为一个无符号字符串全局变量
void send_char(unsigned char txd);           //send_char函数原型声明
/****************
主函数
*****************/
main()
{
TMOD=0x20;        //T1设置为工作模式2,8位自动重装初值,0010 0000
TH1=TL1=0xFD;           //装载初值
SCON=0x50;        //串口设置工作模式1,允许接收,0101 0000
TR1=1;        //TR1=1,启动T1,0100 0000
PCON=0x00;                   //波特率不倍增,该语句可省略
  while(1)                   //无限循环
  {
   if(RI==1)           //查询是否有数据进来
   {
           RI=0;
        tmp=SBUF;          //暂存接收的数据
        P0=tmp;                  //数据转送到P0口
        send_char(tmp);        //回传接收到的数据
        }
  }
}
/****************
功能函数
*****************/
void send_char(unsigned char txd)  //转送一个字符
{
SBUF=txd;
while(!TI);                          //等待数据传送
TI=0;                                         //清除数据传送标志
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

 楼主| 发表于 2013-5-28 23:25:13 | 显示全部楼层
自己顶一下!看视频教程可以接收到数据,然后照抄下来试就不行,然后到附带的实例,试了还是不行,郁闷了!

出0入0汤圆

发表于 2013-5-29 08:03:40 | 显示全部楼层
看你程序没什么问题,如果开发板配套的程序也不能工作的话,估计板子出问题了,试试能不能用串口下载程序~~

出70入0汤圆

发表于 2013-5-29 08:55:57 | 显示全部楼层
楼主看看波特率对不对,不行就好好检查板子硬件,串口还是用中断吧,查询效率低。

出0入0汤圆

发表于 2013-5-29 09:16:26 | 显示全部楼层
用的是11.0592M的晶振

出0入0汤圆

发表于 2013-5-29 09:18:44 | 显示全部楼层
这个我觉得不太可能!!

出0入0汤圆

发表于 2013-5-29 10:21:59 | 显示全部楼层
RI =0 这个不应该写在中断程序里头吗

出0入0汤圆

发表于 2013-5-29 11:26:59 来自手机 | 显示全部楼层
应该将接收写在中断里面去,并且加一下中断标记

出0入0汤圆

 楼主| 发表于 2013-5-29 19:15:51 | 显示全部楼层
绿茶山人 发表于 2013-5-29 08:55
楼主看看波特率对不对,不行就好好检查板子硬件,串口还是用中断吧,查询效率低。 ...

晶振是11.0592的,波特率是9600,没错的。用中断可以实现,用查询就不行,呵呵,先学着用查询,再用中断

出0入0汤圆

 楼主| 发表于 2013-5-29 19:16:33 | 显示全部楼层
jasanjun 发表于 2013-5-29 10:21
RI =0 这个不应该写在中断程序里头吗

没用中断

出0入0汤圆

 楼主| 发表于 2013-5-29 19:16:59 | 显示全部楼层
benqme 发表于 2013-5-29 11:26
应该将接收写在中断里面去,并且加一下中断标记

用查询法,没用中断

出0入0汤圆

 楼主| 发表于 2013-5-29 19:17:33 | 显示全部楼层
guowanling8061 发表于 2013-5-29 09:18
这个我觉得不太可能!!

我也觉得不大可能

出0入0汤圆

 楼主| 发表于 2013-5-29 19:18:02 | 显示全部楼层
xiakang 发表于 2013-5-29 09:16
用的是11.0592M的晶振

是的,呵呵

出0入0汤圆

 楼主| 发表于 2013-5-29 19:22:14 | 显示全部楼层
w282529350 发表于 2013-5-29 08:03
看你程序没什么问题,如果开发板配套的程序也不能工作的话,估计板子出问题了,试试能不能用串口下载程序~~ ...

板子有配到一个USBISP下载器,我都是用它烧程序的,弱弱地请教:怎么用串口烧程序的?新手,轻拍!

出0入0汤圆

发表于 2013-5-30 08:59:20 | 显示全部楼层
yangbing2020 发表于 2013-5-29 19:22
板子有配到一个USBISP下载器,我都是用它烧程序的,弱弱地请教:怎么用串口烧程序的?新手,轻拍!{:lol: ...

你如果是用的ISP下载器,那单片机型号应该是AT89类的,不能用串口下载程序
找个STC89类的单片机,插上,它可以用串口下载~~

出0入0汤圆

 楼主| 发表于 2013-5-30 20:35:31 | 显示全部楼层
w282529350 发表于 2013-5-30 08:59
你如果是用的ISP下载器,那单片机型号应该是AT89类的,不能用串口下载程序
找个STC89类的单片机,插上, ...

哦,这样子,谢谢哈,我试试!

出0入0汤圆

 楼主| 发表于 2013-5-31 20:30:32 | 显示全部楼层
用串口大师查看,单片机能给电脑发回数据,但电脑给单片机发,单片机收不到数据,P0口的LED灯不亮啊,哪位高手帮忙看看啊?不胜感激啊!

出0入0汤圆

 楼主| 发表于 2013-5-31 21:53:20 | 显示全部楼层
可以结贴了,果真是硬件问题,那个MAX232电压转换IC脚没插好,撬了重新再插就好了
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 12:21

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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