打印

CC2500 開發問題求解

[复制链接]
1757|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 co5jco5j 于 2013-8-1 15:59 编辑

最近開發cc2500模組做傳輸 遇到一個不知是否是機構上問題  發送封包的動作 會到一半就死掉 程式持續run但是進不到發送中斷內

小弟能力不足實在是抓不出什麼原因 希望各位高手大大幫忙 點出可能會導致這些問題的因素

問題說明:這是我用uart在程式碼中間鑲一些打印訊息 做debug用
程式大概行為是 [ timerA0記數時間到 丟S類封包3包 丟F類封包1包 ...等下次的Timer時間到 ]
a:表示timer時間到有進到timerA0區間 打印一個a確定有進去
S:是表示有成功進到丟S類封包的程式區間
M:是發送封包的中斷 表示有觸發該中斷(封包有丟出去)
+:在丟封包的function每丟一次完 表示該function有執行到最後 沒有斷掉

藍色綠色high light部份 "M"就不見了 表示我前面不分都正常 也有進到送封包區段 但是發送封包的中斷並沒有觸發

以下是我執行3次的結果 發生狀況的時間/次數每次都不同 當狀況發生 就重load重跑 有時可以執行數十次 但有時就馬上出狀況
每次狀況都不太一樣 實在是讓我摸不著頭緒 該怎麼去de這個bug




做這次開發用的開發版 msp430f5438/cc2500 (CC2500直接接在PORT1 的PIN腳上 所以收/發中斷用PORT1的中斷)


以下附上我的程式碼部份 請各位大大幫忙看是否哪邊有錯誤(圖片照程式執行順序)
1.TimerA0 計數到 觸發Timer中斷
(打印a)


2.進S區間與F區間 做發送動作的Function
資料放到txBuffer後 用RFSendPacket();會觸發下面3.中斷送出封包
(打印S/F/+的部份)


3.cc2500收/發中斷副程式
(打印M的部份)





下面為TI所提供之CC2500.c/TI_CC_spi.c 使用RFSendPacket(); 程式碼



一開始有懷疑過是否發送封包的間隔太短 有加長每次送封包的間隔時間(OSTimeDly) 但是狀況還是會發生
另外想是否可能是TXFIFO_OVERFLOW 但是overflow應該是除了幾次後才會出現 我的情況甚至於在第一次都還沒傳過就出現 所以也很疑惑

實在是想不出來 還有可能是什麼原因導致這種狀況發生 希望有經驗的高手大大幫忙

U-Prog_PCBs.jpg (199.49 KB )

U-Prog_PCBs.jpg

2013-07-30_223309拷貝.jpg (40.23 KB )

2013-07-30_223309拷貝.jpg

2013-07-30_223207拷貝.jpg (237.46 KB )

2013-07-30_223207拷貝.jpg

相关帖子

沙发
dirtwillfly| | 2013-8-1 00:08 | 只看该作者
难道我这里网速太慢?一个图片也看不到

使用特权

评论回复
板凳
co5jco5j|  楼主 | 2013-8-1 16:00 | 只看该作者
dirtwillfly 发表于 2013-8-1 00:08
难道我这里网速太慢?一个图片也看不到

圖片已改為上傳至21IC網站 麻煩大大了 謝謝

使用特权

评论回复
地板
co5jco5j|  楼主 | 2013-8-8 14:59 | 只看该作者
自己解決來回復一下 後來是rx tx的overflow 我在做完傳送以後做flush動作 並且init

再出問題一下子之後 後來就會回複了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

16

帖子

0

粉丝