打印

请问下为什么我的串口一上电就一直在接收数据

[复制链接]
6376|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
x_catl|  楼主 | 2010-9-2 13:25 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
请问下为什么我的串口一上电就一直在接收数据,而且都是十六进制的00




/******* 通用定义区 ********/
/***************************/
#include <pic.h>      // 所有子程序必须包含此头文件,以方便以后写工程文件时将所有的子头文件包含在config.h中
#include <stdlib.h>
         
typedef unsigned char  uint8;                   /* defined for unsigned 8-bits integer variable  无符号8位整型变量  */
typedef signed   char  int8;                    /* defined for signed 8-bits integer variable  有符号8位整型变量  */
typedef unsigned short uint16;                  /* defined for unsigned 16-bits integer variable  无符号16位整型变量 */
typedef signed   short int16;                   /* defined for signed 16-bits integer variable   有符号16位整型变量 */
typedef unsigned int   uint32;                  /* defined for unsigned 32-bits integer variable  无符号32位整型变量 */
typedef signed   int   int32;                   /* defined for signed 32-bits integer variable   有符号32位整型变量 */
typedef float          fp32;                    /* single precision floating point variable (32bits) 单精度浮点数(32位长度) */
typedef double         fp64;                    /* double precision floating point variable (64bits) 双精度浮点数(64位长度) */

/*********************************************************************************************************
** 函数名称 :UART_INIT()
** 函数功能 :串口初始化
** 入口参数 :无        
**     
** 出口参数 :无
**********************************************************************************************************/
void UART_INIT()
{
TRISC=0Xff;
SPBRG=38;
BRGH=1;
SYNC=0;
SPEN=1;
RCIE=1;
PEIE=1;
GIE=1;
CREN=1;   
}
/*********************************************************************************************************
** 函数名称 :main()
** 函数功能 :主函数
** 入口参数 :无        
**     
** 出口参数 :无
**********************************************************************************************************/
void main()
{
while(1)
{  
}
}
/*********************************************************************************************************
** 函数名称 :interrupt
** 函数功能 :中断
** 入口参数 :无        
**     
** 出口参数 :无
**********************************************************************************************************/
void interrupt usart()
{
uint8 mmm;
if(RCIF&&RCIE)
{
  RCIF=0;
  mmm=RCREG;  //原路返回数据给PC
  TXREG=mmm;
  while(!TRMT);
}
}

QQ截图未命名.gif (836.55 KB )

QQ截图未命名.gif
沙发
x_catl|  楼主 | 2010-9-2 13:26 | 只看该作者
上面是写的最简单程序,不知道怎么突然出问题,郁闷,请各位路过好汉解答下啊,谢了

使用特权

评论回复
板凳
yewuyi| | 2010-9-2 13:36 | 只看该作者
检查232口线的连接,如果在悬空的状态下比较容易出现0X00或者0XFF的问题,另外很多串口调试助手存在这个问题,实则是高阻状态的感应电压造成的问题。

可以接上拉或者下拉电阻后再看是否存在这个问题。

使用特权

评论回复
地板
x_catl|  楼主 | 2010-9-2 13:51 | 只看该作者
我的系统上面不加电,然后我就用串口调试助手自动发,出现下面的情况,能够直接返回到PC数据,而且数据量是从PC传出量的一半

110.gif (829.21 KB )

110.gif

使用特权

评论回复
5
x_catl|  楼主 | 2010-9-2 13:52 | 只看该作者
3# yewuyi


请问在哪里加下拉电阻呢

使用特权

评论回复
6
yewuyi| | 2010-9-2 16:25 | 只看该作者
我的系统上面不加电,然后我就用串口调试助手自动发,出现下面的情况,能够直接返回到PC数据,而且数据量是从PC传出量的一半
x_catl 发表于 2010-9-2 13:51


系统未上电时与232芯片连接脚一般处于高阻状态,此时很容易有感应电压,如果通电后不出现错误发送,则可忽略。

使用特权

评论回复
7
jdylyn| | 2010-9-2 16:30 | 只看该作者
3# yewuyi  


请问在哪里加下拉电阻呢
x_catl 发表于 2010-9-2 13:52
同问

使用特权

评论回复
8
yewuyi| | 2010-9-3 08:35 | 只看该作者
数据脚

使用特权

评论回复
9
x_catl|  楼主 | 2010-9-3 09:11 | 只看该作者
单片机的TXD,RXD,还是PC的TXD,RXD,还是都要接?


8# yewuyi

使用特权

评论回复
10
x_catl|  楼主 | 2010-9-3 09:29 | 只看该作者
搞定了,在单片机的TXD和RXD上各接1个1K的上拉电阻,谢谢yewuyi!

使用特权

评论回复
11
yewuyi| | 2010-9-3 10:35 | 只看该作者
搞定了,在单片机的TXD和RXD上各接1个1K的上拉电阻,谢谢yewuyi!
x_catl 发表于 2010-9-3 09:29


如果通信速度不快的话,适当加大到10K以上。

使用特权

评论回复
12
hotpower| | 2010-9-3 17:43 | 只看该作者
提问说出结果难得。

使用特权

评论回复
13
ocon| | 2010-9-4 14:01 | 只看该作者
提问说出结果难得。
hotpower 发表于 2010-9-3 17:43
:victory:

使用特权

评论回复
14
headwolf_83| | 2010-9-22 22:31 | 只看该作者
硬件连接问题的可能性比较大,包括你的串口线有问题。比如交叉线和延长线没搞清楚。

使用特权

评论回复
15
lou0908| | 2010-9-28 21:59 | 只看该作者
好贴,我也遇到这种情况,学习了

使用特权

评论回复
16
大雄| | 2010-9-28 22:00 | 只看该作者
1# x_catl
fdfdfd

使用特权

评论回复
17
lx20150828| | 2015-10-23 10:21 | 只看该作者
yewuyi 发表于 2010-9-3 10:35
如果通信速度不快的话,适当加大到10K以上。

我的加了上拉电阻也不行。一直在接收数据。但不是00,乱七八糟都有,求帮助。。。。怎么办

使用特权

评论回复
18
cxb_880905| | 2015-11-3 12:37 | 只看该作者
yewuyi 发表于 2010-9-3 10:35
如果通信速度不快的话,适当加大到10K以上。

我也碰到同样的问题,谢谢你的解答

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

58

帖子

1

粉丝