| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 633 人关注过本帖
标题:接收不明长度字符串问题
只看楼主 加入收藏
pyoldfox
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-12-24
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
接收不明长度字符串问题
求助各大虾,本人最近用AVR单片机与一模块相连,每发送一条指令,模块返回不明长度字符串若干,程序的下一步必须判断这些字符串代表的意义.我用了一个中断子程序来接收返回字符,但是不知怎样才算接收完毕再执行下一条指令.返回的字符其中也可能带有空格.单片机每中断一次接收一个字符(8个字节),会不会下一条发送指令会打断单片机的中断接收?
如何判断返回字符接收完毕?
/******************接收中断子函数****************/
#pragma interrupt_handler uart0_rx_isr:26
void uart0_rx_isr(void)
  {   
   UCSR0B&=~(1<<RXCIE0);//关闭接收中断
   buffer[cunt]=udr0;
   cunt++;
   UCSR0B|=(1<<RXCIE0);//开启接收中断
  }
搜索更多相关主题的帖子: 下一步 单片机 字符串 子程序 如何 
2013-12-24 14:53
pyoldfox
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-12-24
收藏
得分:0 
子程序中的关闭接收中断会引起接收缓存中的数据丢失或覆盖吗
2013-12-24 14:54
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:10 
需要自己定义协议,然后自己解析串口接收的数据吧

总有那身价贱的人给作业贴回复完整的代码
2013-12-24 15:35
pyoldfox
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-12-24
收藏
得分:0 
模块返回的字符是有规定的,但是不同的指令返回不同的字符,无法定义协议,因为模块是不能编程的,不知有没有共同的结束符?
2013-12-24 15:49
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
串口只是负责接收、发送,协议是可以自己定的。你说的模块是不是有自己定制的协议?你必须知道,不知道的话肯定没法判断什么时候接收完毕

总有那身价贱的人给作业贴回复完整的代码
2013-12-24 15:57
so_love
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:7
帖 子:812
专家分:4151
注 册:2013-11-25
收藏
得分:10 
观摩

一花一世界、一叶一追寻、片片花叶落、情系何人身。
2013-12-24 16:34
快速回复:接收不明长度字符串问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020078 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved