找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3172|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

nrf24l01與dds686及ds1302

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:70976 發(fā)表于 2014-12-26 21:41 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式


  今天算是最有成效的一天了,解決了年前沒解決的nrf24l01自動ACK下不能收發(fā)的問題,而且在隊友提示下弄清楚了dds686電表的通信協(xié)議DL645中關(guān)于數(shù)據(jù)校驗的工作方式,從而用串口調(diào)試助手實現(xiàn)了與電表的通信,然而移植到單片機(jī)上時卻遇到了不小的困難,主要是在數(shù)據(jù)傳送的校驗上出問題,以前從來沒有搞過帶校驗的串口通信,然后又經(jīng)過不懈的努力,查資料、不停的實踐,終于在晚飯前實現(xiàn)了用單片機(jī)和電表通信。至此,我們的模塊基本上都實現(xiàn)了,接下來的就是聯(lián)機(jī)調(diào)試了。

  昨天和隊友商量用ds1302萬年歷芯片來減小上位機(jī)的開銷,今天讓另外一個隊友研究,結(jié)果他對這些東西十分生疏,估計前幾天在新東方被土鱉老師給洗腦了,到了晚飯時間還是沒能讀出數(shù)據(jù)。晚飯回來,我用了十分鐘研究了一下他的源碼,發(fā)現(xiàn)問題解決問題。(其實一年前就搞過,所以上手快O(∩_∩)O哈!)。



  nrf24l01:年前考試考煩了,遂下心搞了一下nrf24l01,還得電路理論都沒怎么復(fù)習(xí)(還不知道掛沒,老師一直不發(fā)成績,估計是兇多吉少),不過還好,進(jìn)過兩天兩夜的奮戰(zhàn),終于能夠通信了,只是不能使用自動ACK。當(dāng)時是使用的網(wǎng)絡(luò)上通行的源碼,照理說不會錯。

  年后回學(xué)校又開始搞,第一天看了下程序,怕自己完全忘記了,發(fā)現(xiàn)還是不錯,畢竟付出了努力。第二天開始搞自動ACK,還是不行。今天重新審視datasheet,曾經(jīng)沒怎么東的一段話引起了我的注意。是關(guān)于通道地址設(shè)置。因為nrf24l01有六個數(shù)據(jù)通道,但是只有通道0是用來發(fā)送ACK的,所以要求發(fā)送端通道0的接收地址與該發(fā)發(fā)送端的發(fā)送地址相同。當(dāng)nrf24l01發(fā)送完數(shù)據(jù)后,通道0立即轉(zhuǎn)為接收模式等待ACK。網(wǎng)上的源碼是用通道0作為發(fā)送通道。我想,通道0又要同時作為ACK接收,會不會沖突?于是將發(fā)送通道改為了1通道,就是不用通道0發(fā)送,哎,結(jié)果就行了。可是網(wǎng)絡(luò)上、datasheet上都沒有說不能用通道0發(fā)送,因此問題是解決了,但原因還不明,還是懷疑是工作方式配置不正確。但是,它可以工作了,這是鐵的事實。

  dds686:最開始是連用現(xiàn)有讀表程序都不能通信,感到很郁悶,知道是電路問題,卻遲遲不能解決。電表是用的rs485通信協(xié)議,單片機(jī)是用的串口,中間要有轉(zhuǎn)換,網(wǎng)上找了一個rs232--rs485的轉(zhuǎn)換電路,做了一個,連不上,于是又做了一個還是連不上。后來仔細(xì)分析才發(fā)現(xiàn)只是把485換成了232,卻沒有把232轉(zhuǎn)成串口。歸咎兩點,網(wǎng)上太多232轉(zhuǎn)485,搞得我暈頭轉(zhuǎn)向;還有就是沒仔細(xì)分析。后來加了一個232,當(dāng)看見通訊指示燈亮起,我差點叫出來。主要的問題還是485是半雙工的通訊協(xié)議,要去控制數(shù)據(jù)流方向,挺麻煩。然后就是DL645電表通信協(xié)議了,準(zhǔn)備好好修理一下它的,搞了兩天才發(fā)現(xiàn)是被它給修理了。我就直接用串口調(diào)試助手把命令發(fā)給電表都不能通信,今天才搞懂是通信方式不對,還要加上偶校驗位,再次看見通訊燈閃亮,我差點摔電腦。然后就是用單片機(jī)發(fā)命令了,如果前面兩個問題能讓我頭大一倍的話,那此時我的頭就有平時四倍大了,因為這個問題一個頂倆。費了九牛二虎之力,試驗了無數(shù)種工作模式+電路連接+校驗方式的組合,我才發(fā)現(xiàn)開始的程序是對的,只是因為線接反,造成我多了兩個頭。第三次看見通訊燈亮起,我突然平靜了,哼起了口哨,慢悠悠的打開優(yōu)酷去看那幾個快樂大本營的瘋子。



  說來模塊是差不多了,明天開始聯(lián)調(diào),這是最關(guān)鍵最困難的環(huán)節(jié),呵呵,我是海燕我怕誰。然后就做整機(jī)電路,然后寫報告,然后。。。呵呵。。。打鬼泣。

  等一下和隊友商量一下我們系統(tǒng)的協(xié)議,山寨一個水貨,能用就行,功能又不是很強(qiáng),要求不高,就像毛豆豆,嫁給余味,沒有高追求,踏實又幸福。

  最后有時間,還得搞一下上位機(jī),哎,當(dāng)時真該把C++好好學(xué)學(xué),書到用時方恨少啊。



  這一次比賽有意要培養(yǎng)隊友的能力和技術(shù),唐不錯,進(jìn)步很快,但是效率還是低了些,不過比起我當(dāng)時,那可厲害多了,只是缺少實踐,有些問題處理得不靈活;另外一個,被GRE洗腦的,可得要好好加油啰。

  我們的隊名是我取的,三人行,很不錯的名字,就是希望大家相互學(xué)習(xí),虛心受教。我要的不是比賽結(jié)果,而是成長,共同的成長。。。


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:70976 發(fā)表于 2014-12-26 21:41 | 只看該作者


  集中準(zhǔn)備比賽已經(jīng)一周了,可以說進(jìn)展是很明顯的,我們的技術(shù)方案也在完成中完善,隊友也有和我一樣的感覺,通過這個比賽學(xué)到了很多東西。

  似乎從來沒在這個時間段寫過日志——聽著室友熟睡的鼾聲,帶有無限的疲倦,讓自己也感到十分的疲憊。剛剛停下編程,卻不想把現(xiàn)在的一些感受直接帶入夢里拋棄。

  比賽雖然累,卻很充實,心中只有一個念頭:向著目標(biāo)前進(jìn)。于是忘記了累,忘記了痛,忘記了時間,也忘記了那些習(xí)慣。。。

  今晚老師走到我面前拍著我的肩膀叫我加油,還說了一句雷人的話:期待你人品爆發(fā)。呵呵,這句話從他口中說出,真的是太搞笑了,雖然給了我很大的壓力。

  簡單想一想,我們的項目取題也許不算多么有想法,但絕對是立足于實用的;我們的技術(shù)方案雖然都是十分普遍的技術(shù),相對于很多參賽隊來說,也算是較大規(guī)模了;最重要的是,這是我第一次做全系統(tǒng)的設(shè)計,從選題到技術(shù)實現(xiàn)、從硬件電路到軟件程序,要打通每一個環(huán)節(jié)相互協(xié)調(diào)好還真不是一件簡單事。自然,挫折越多,學(xué)到的就越豐富。

  另外值得在意的就是看見的隊友的成長,看見他們一天比一天有經(jīng)驗,一次比一次堅韌,這是一種欣慰。

  調(diào)了一天的程序,雖然問題解決了,但原因還沒有分析透徹,還記得李老師常說:知其然而且知其所以然。先放放,等有空閑來扁攔路虎。

  剛剛終于把無線調(diào)通了,意思就是說現(xiàn)在基本上可以實現(xiàn)系統(tǒng)運作了,只等系統(tǒng)程序了,而這一塊因為了前面的鋪墊又是顯得這么的簡單;然后就是完善以及報告文檔答辯之類的。

  看看屏幕右下角,原來早該睡了。。。稍微想想,明天估計又要挨哥哥的罵了。。。
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表