微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 不用网络照样可以打字聊天

不用网络照样可以打字聊天

时间:11-30 来源:互联网 点击:

前些时用刘洋的电脑在网上看了一个别人用nRF24L01做的无线聊天的东东,可以双方发送字符或是汉字。那是一看似乎就知道了别人是怎么实现的:单片机串口收发+nRF24L01的无线数据传输。当时还是觉得蛮好玩的。在那之前我就把nRF24L01+(是nRF24L01的升级版)的的双向无线数据交换弄通了,就得在就是加个串口就好了。接下来了的一段时间在弄我的无线小车也就没有弄这玩意,不过还是放在心里了。这个月初,小车弄好了,功能比较简单,无线控制,只有前进、后退,左、右,没有加入速度的控制;本来想加入ADXL345做个重力感应的,后来觉得ADXL345我还不能怎么好好的驾驭它,不知道怎么对读出来的数据进行处理,这个功能就没有加。所以就做成了前段时间上传的视频里的那样的了。后来焊接了三个nRF24L01+的小板子,想做做多机通信或是玩玩它的跳频。这个搞了几天,可以一个发送两个接收了,手里也就这么多硬件,只能这样了。这个暂时放下了。又在这个星期弄那个视频看见的东西了:无线串口通信。花了两天在STC15L204EA上调试串口,由于STC15L204EA没有独立的串口模块,只能模拟串口了,在网上找到了模拟串口的程序,也看了STC的数据手册里介绍的模拟串口部分,感觉模拟串口可以完成数据的收发,但是不怎么好用,搞了两天就没有弄模拟串口了,一想自己还有两个两个以前在汉口解放公园那里买的两个STC12LE5A60S2的最小系统板,就用它了。这个不用焊接电路,只需要用杜邦线连接就可以了,串口的程序自己以前也写得有,nRF24L01+的收发的程序也早就弄好了。感觉只需要把两个有机的结合在一起就可以了。但是,不是这样的,主要是串口。以前的串口程序可以发送字符串到串口调试助手上去,但是接收我需要把接收的字符串存入一个数组里去,而且数组的长度有限制(我只会让nRF24L01+一次发送32字节的数据,它一次最多也只可以发送32字节的数据,超过32字节的就不会操作了,主要是不知道怎么样将从串口接收到的超过32字节的数据存入多个数组里面再发送出去的数据的长度就是接收到的长度),再将从串口接收到了的字符串存入数组里面花了一点时间,但是还是发现有问题。一是:当数组长度小于等于32时,很好操作,但是超过32时再发送出去的就是超过的部分的数据,前32个我把它清零了,后面的没有清零。二是:当我人为的规定了一次发送的数据的长度,但是当一次的数据长度小于我人为规定的长度再怎么发送出去呢?还好我想到了定时器,思路:当数据大于32时,发送这个数据的前32个;当数据小于32时,我们打开定时器,定时时间大于接收一串字符串的时间,再在定时时间到了后把数据发送出去。定时器中断的操作也是在做老师的项目时经常用到了,我就这么的写了代码,发现奇迹出来了:达到了想象的效果。但是还有一个一直成在的问题就是当数组长度大于32时,它怎么就会把超出的部分发送出去?后来就做了一个使用说明的东西,按照说明来操作就OK了,自己做的东西,说明规定当然由我定了,呵呵……就这么的串口算是弄到了理想效果。但是问题又来了。我的PL2302的驱动装不好,以前我的电脑就是用的这个驱动,这就导致我只能做一个的了,不能两个同时操作。没办法,只好想办法解决驱动的问题,搞了一天没有搞好,驱动有问题我也无解了,再就是来焊接MAX3232串口电路了,焊接了两次没有焊接好,没办法,在寝室弄实验条价差没有工具检测,第二次是昨天晚上上完了选修课回来焊接的,于放弃了。前几天找彭博华借了一个CP2102的下载器,我的电脑装CP2102的驱动装不好,昨天晚上又找吕静借来了电脑,她的电脑我上次使用时装好了CP2102的驱动。昨天晚上焊接电路前在她的电脑上试了一下CP2102下载器,好使。今天上午的1、2节课去上刘辉的工业计算机去了,回来就来把串口部分和nRF24L01+的收发结合起来。好在在我借到彭博华的CP2102下载器之前我的大脑里就有一个思路怎么结合两个部分了。下课回了没有花多少时间就把它们给弄好了,11点钟吃中饭之前就好了,效果出来了,可以和别人的视频里演示的一样了。就这么样困扰快一个星期的问题解决了。找黄品章借来了小米拍视屏,请了小强做摄影师。在此一并感谢提到的各位,谢谢你们!但是不管怎么拍,我的地理方位不怎么好,有点反光,一个人操作两台电脑也不好操作,视频拍的比较乱,就截图吧。就这么样,我的无线通信也做完了,也达到了别人视频里的效果。传输距离在空旷条件下60米没有问题。自己不会用VB,看见那语言就不自在,所用用的还是STC官网提供的串口工具。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top