新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 不用網(wǎng)絡照樣可以打字聊天

不用網(wǎng)絡照樣可以打字聊天

作者: 時間:2016-11-30 來源:網(wǎng)絡 收藏


前些時用劉洋的電腦在網(wǎng)上看了一個別人用nRF24L01做的無線聊天的東東,可以雙方發(fā)送字符或是漢字。那是一看似乎就知道了別人是怎么實現(xiàn)的:單片機串口收發(fā)+nRF24L01的無線數(shù)據(jù)傳輸。當時還是覺得蠻好玩的。在那之前我就把nRF24L01+(是nRF24L01的升級版)的的雙向無線數(shù)據(jù)交換弄通了,就得在就是加個串口就好了。接下來了的一段時間在弄我的無線小車也就沒有弄這玩意,不過還是放在心里了。這個月初,小車弄好了,功能比較簡單,無線控制,只有前進、后退,左、右,沒有加入速度的控制;本來想加入ADXL345做個重力感應的,后來覺得ADXL345我還不能怎么好好的駕馭它,不知道怎么對讀出來的數(shù)據(jù)進行處理,這個功能就沒有加。所以就做成了前段時間上傳的視頻里的那樣的了。后來焊接了三個nRF24L01+的小板子,想做做多機通信或是玩玩它的跳頻。這個搞了幾天,可以一個發(fā)送兩個接收了,手里也就這么多硬件,只能這樣了。這個暫時放下了。又在這個星期弄那個視頻看見的東西了:無線串口通信?;藘商煸赟TC15L204EA上調(diào)試串口,由于STC15L204EA沒有獨立的串口模塊,只能模擬串口了,在網(wǎng)上找到了模擬串口的程序,也看了STC的數(shù)據(jù)手冊里介紹的模擬串口部分,感覺模擬串口可以完成數(shù)據(jù)的收發(fā),但是不怎么好用,搞了兩天就沒有弄模擬串口了,一想自己還有兩個兩個以前在漢口解放公園那里買的兩個STC12LE5A60S2的最小系統(tǒng)板,就用它了。這個不用焊接電路,只需要用杜邦線連接就可以了,串口的程序自己以前也寫得有,nRF24L01+的收發(fā)的程序也早就弄好了。感覺只需要把兩個有機的結(jié)合在一起就可以了。但是,不是這樣的,主要是串口。以前的串口程序可以發(fā)送字符串到串口調(diào)試助手上去,但是接收我需要把接收的字符串存入一個數(shù)組里去,而且數(shù)組的長度有限制(我只會讓nRF24L01+一次發(fā)送32字節(jié)的數(shù)據(jù),它一次最多也只可以發(fā)送32字節(jié)的數(shù)據(jù),超過32字節(jié)的就不會操作了,主要是不知道怎么樣將從串口接收到的超過32字節(jié)的數(shù)據(jù)存入多個數(shù)組里面再發(fā)送出去的數(shù)據(jù)的長度就是接收到的長度),再將從串口接收到了的字符串存入數(shù)組里面花了一點時間,但是還是發(fā)現(xiàn)有問題。一是:當數(shù)組長度小于等于32時,很好操作,但是超過32時再發(fā)送出去的就是超過的部分的數(shù)據(jù),前32個我把它清零了,后面的沒有清零。二是:當我人為的規(guī)定了一次發(fā)送的數(shù)據(jù)的長度,但是當一次的數(shù)據(jù)長度小于我人為規(guī)定的長度再怎么發(fā)送出去呢?還好我想到了定時器,思路:當數(shù)據(jù)大于32時,發(fā)送這個數(shù)據(jù)的前32個;當數(shù)據(jù)小于32時,我們打開定時器,定時時間大于接收一串字符串的時間,再在定時時間到了后把數(shù)據(jù)發(fā)送出去。定時器中斷的操作也是在做老師的項目時經(jīng)常用到了,我就這么的寫了代碼,發(fā)現(xiàn)奇跡出來了:達到了想象的效果。但是還有一個一直成在的問題就是當數(shù)組長度大于32時,它怎么就會把超出的部分發(fā)送出去?后來就做了一個使用說明的東西,按照說明來操作就OK了,自己做的東西,說明規(guī)定當然由我定了,呵呵……就這么的串口算是弄到了理想效果。但是問題又來了。我的PL2302的驅(qū)動裝不好,以前我的電腦就是用的這個驅(qū)動,這就導致我只能做一個的了,不能兩個同時操作。沒辦法,只好想辦法解決驅(qū)動的問題,搞了一天沒有搞好,驅(qū)動有問題我也無解了,再就是來焊接MAX3232串口電路了,焊接了兩次沒有焊接好,沒辦法,在寢室弄實驗條價差沒有工具檢測,第二次是昨天晚上上完了選修課回來焊接的,于放棄了。前幾天找彭博華借了一個CP2102的下載器,我的電腦裝CP2102的驅(qū)動裝不好,昨天晚上又找呂靜借來了電腦,她的電腦我上次使用時裝好了CP2102的驅(qū)動。昨天晚上焊接電路前在她的電腦上試了一下CP2102下載器,好使。今天上午的1、2節(jié)課去上劉輝的工業(yè)計算機去了,回來就來把串口部分和nRF24L01+的收發(fā)結(jié)合起來。好在在我借到彭博華的CP2102下載器之前我的大腦里就有一個思路怎么結(jié)合兩個部分了。下課回了沒有花多少時間就把它們給弄好了,11點鐘吃中飯之前就好了,效果出來了,可以和別人的視頻里演示的一樣了。就這么樣困擾快一個星期的問題解決了。找黃品章借來了小米拍視屏,請了小強做攝影師。在此一并感謝提到的各位,謝謝你們!但是不管怎么拍,我的地理方位不怎么好,有點反光,一個人操作兩臺電腦也不好操作,視頻拍的比較亂,就截圖吧。就這么樣,我的無線通信也做完了,也達到了別人視頻里的效果。傳輸距離在空曠條件下60米沒有問題。自己不會用VB,看見那語言就不自在,所用用的還是STC官網(wǎng)提供的串口工具。


上一頁 1 2 下一頁

評論


技術專區(qū)

關閉