在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 2632|回复: 7

串口通信数据处理问题

[复制链接]
发表于 2008-9-21 21:45:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
各位 师兄好,我想 问下计算机与单片机串口通信问题,串口与计算机通信我是调试通过了 的 ,但是要在 计算机串口调试助手上 发一串数据,形式如:$1234567<0x0d><0x0a>,当 串口向单片机发送这一串数据时,单片机检测到$符号就开始,然后把123456提取出来,当检测到<0x0d><0x0a>时就结束,然后处理数据,主要是要把123456提取出来。谢谢咯
发表于 2008-9-25 23:05:59 | 显示全部楼层
楼主到底是按什么格式发送?
发表于 2008-9-26 17:16:45 | 显示全部楼层
#define  TRUE   1
#define  FALSE  0

//$1234567<0x0d><0x0a>

char  RxBuf[MAX_BUF_SIZE];  // string of valid data, without start/stop token('$', 0x0a, 0x0d)
int   SzBuf;                // number of valid data

void UartRxInt( void )  interrupt  UART_RXINT_NUMBER
{
    static int bStart = FALSE;
    char       c = SBUF;
   
    if( c == '$' )
    {
       SzBuf = 0;
       bStart = TRUE;
    }
    else if( bStart )
    {
        if( (c == '\n') && (RxBuf[SzBuf-1] == '\r') )  // if necessary, if(SzBuf > 0)
        {
            RxBuf[--SzBuf] = '\0';    // the RxBuf[] is an ANSI string '1234567' end with '\0'
            bStart = FALSE;           // end of transmit
        }
        else
        {
            RxBuf[SzBuf++] = c;
        }      
    }
}

不保证正确,临时写的.我的目的是挣分,呵呵
51好久没用过,写错了心里骂一下吧
 楼主| 发表于 2008-9-28 10:19:22 | 显示全部楼层
谢谢了哈,我是自动发送的,我先调试一下这个看行不行
 楼主| 发表于 2008-9-28 10:20:14 | 显示全部楼层
不是16进制哈,就是那种发一个字符就能收到一个字符那种
 楼主| 发表于 2008-9-28 10:40:04 | 显示全部楼层
楼上的那个SzBuf是单片机自动设置的啊?还是怎么滴,这个程序好象不行样,能不能修改一下啊,就是把中间的数据1234567转换成十进制的数1234567,谢谢
 楼主| 发表于 2008-9-28 11:25:54 | 显示全部楼层
假如我用串口通信,设置一个uchar c=subf;然后又设置了一个uchar  RxBuf[20]; 我把uchar  RxBuf[20]=c;这个操作怎么不正确啊,那我应该怎么操作才能把SUBF里的字符串副职给uchar  RxBuf[20];
头像被屏蔽
发表于 2008-9-28 18:37:30 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-16 15:20 , Processed in 0.038638 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表