开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 16739|回复: 6
收起左侧

[已解决] 串口数据发送与接收的问题,请高手留步!

 关闭 [复制链接]
结帖率:90% (9/10)
发表于 2014-2-28 16:58:40 | 显示全部楼层 |阅读模式   广东省深圳市
5精币
小弟最近在学习下位机通讯,做了个实例,但发现效果不理想,没有实现真正的目的,还请各路高手帮我指点一下,谢谢大家

功能很简单,我发送“1”的数据给下位机,下位机返回相应的数据给我。

要实现的功能如下图:
1.JPG

而我做出来的实例效果却变成了如下:

实例效果

实例效果


实在不知道是哪里写错了,同时也附上源码,请各位帮看看,谢谢了


[e]
.版本 2

.子程序 _按钮1_被单击, , , 数据发送
.局部变量 临时文本, 文本型
.局部变量 临时字节集, 字节集

临时文本 = 删全部空 (编辑框1.内容)
临时字节集 = 到字节集 (临时文本)
端口1.发送数据 (临时字节集)

.子程序 _端口1_数据到达
.参数 数据字节值, 整数型

编辑框2.加入文本 (到进制 (到文本 (数据字节值), 10, 16) + “,”)


.子程序 到进制, 文本型, 公开, 可以将从二进制到三十六进制的数值随意进行转换
.参数 被转换文本, 文本型, , 欲被转换的文本(不可以转换负数以及小数)
.参数 被转换进制, 整数型, , 被转换文本的进制(2-36之间)
.参数 转换的进制, 整数型, , 要转换到的进制(2-36之间)
.局部变量 欲转换文本, 文本型
.局部变量 临时文本, 文本型
.局部变量 临时数值, 长整数型
.局部变量 计次变量, 整数型

.如果真 (被转换进制 < 2 或 转换的进制 < 2 或 被转换进制 > 36 或 转换的进制 > 36) ' 判断两个“进制系数”是否正确
输出调试文本 (“参数错误-进制只能在2-36之间”)
返回 (“”)
.如果真结束
被转换文本 = 到大写 (到半角 (被转换文本)) ' 规范参数
.计次循环首 (取文本长度 (被转换文本), 计次变量)
临时文本 = 取文本中间 (被转换文本, 计次变量, 1)
.如果真 (寻找文本 (取文本左边 (“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”, 被转换进制), 临时文本, , 假) = -1)
临时文本 = “参数错误-” + 被转换文本 + “不是一个有效的” + 取文本左边 (数值到金额 (被转换进制, 真), 取文本长度 (数值到金额 (被转换进制, 真)) - 4) + “进制数!”
跳出循环 ()
.如果真结束
.如果真 (计次变量 = 取文本长度 (被转换文本))
临时文本 = “”
.如果真结束

.计次循环尾 ()
.如果真 (临时文本 ≠ “”)
输出调试文本 (临时文本)
返回 (“”)
.如果真结束
' 以上为数据处理代码
.如果真 (被转换进制 = 转换的进制)
返回 (被转换文本)
.如果真结束
.计次循环首 (取文本长度 (被转换文本), 计次变量) ' 整数转换开始
临时数值 = (寻找文本 (“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”, 取文本中间 (被转换文本, 计次变量, 1), , 真) - 1) × 求次方 (被转换进制, 取文本长度 (被转换文本) - 计次变量) + 临时数值
.计次循环尾 ()
.判断循环首 (临时数值 > 转换的进制 - 1)
欲转换文本 = 取文本中间 (“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”, 到数值 (到文本 (临时数值 % 转换的进制)) + 1, 1) + 欲转换文本
临时数值 = 取整 (临时数值 ÷ 转换的进制)
.判断循环尾 ()
欲转换文本 = 取文本中间 (“0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ”, 临时数值 + 1, 1) + 欲转换文本 ' 整数转换结束
.如果真 (取文本长度 (欲转换文本) = 1)
返回 (“0” + 欲转换文本)
.如果真结束
返回 (欲转换文本)

[/e]

最佳答案

查看完整内容

乃有没有初始化串口?顺便建议不要这样去用,这样写会有顺序问题,你应该用一个缓冲数组来做,先接收所有数据然后再转化显示

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值
发表于 2014-2-28 16:58:41 | 显示全部楼层   吉林省长春市
乃有没有初始化串口?顺便建议不要这样去用,这样写会有顺序问题,你应该用一个缓冲数组来做,先接收所有数据然后再转化显示
回复

使用道具 举报

结帖率:90% (9/10)
 楼主| 发表于 2014-2-28 17:43:48 | 显示全部楼层   广东省深圳市
希望能有高手帮我指点一下呀
回复

使用道具 举报

结帖率:90% (9/10)
 楼主| 发表于 2014-2-28 21:59:27 | 显示全部楼层   广东省深圳市
难道这里没有这方面的高手吗???
回复

使用道具 举报

结帖率:90% (9/10)
 楼主| 发表于 2014-3-1 23:33:56 | 显示全部楼层   广东省深圳市
我的天呀,只有看热闹的,都没有一个人能给点提示吗????
回复

使用道具 举报

结帖率:100% (5/5)
发表于 2014-3-7 17:42:08 | 显示全部楼层   广西壮族自治区柳州市
还不知道的话加我QQ"635169189 我经常用易语言写监控软件

点评

这里不方便回答的吗?   福建省福州市  详情 回复 发表于 2014-3-8 14:26
回复

使用道具 举报

结帖率:90% (9/10)
 楼主| 发表于 2014-3-8 14:26:21 | 显示全部楼层   福建省福州市
xxilong 发表于 2014-3-7 17:42
还不知道的话加我QQ"635169189 我经常用易语言写监控软件

这里不方便回答的吗?
回复

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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