看板 ASM 關於我們 聯絡資訊
各位板友好 我想利用MCU與RF晶片做溝通, MCU為Atmel SAMD20J18、RF晶片為Semtech SX1276, 此RF晶片僅能利用SPI對其暫存器做讀寫, 我是使用SINGLE access mode, 也就是一次會傳送一個byte的地址+一個byte的資料, 地址的MSB是1則做寫入,0則是讀取, 我修改Atmel ASF Manual所提供的SPI Example Code, 在程式一開始,要寫(data 0x00)到暫存器(addr 0x01), 因為是寫入,所以地址改寫成 0x01|0x80,就像SPI_W(0x81,0x00) 我不知道到底有沒有寫出去,於是用了一個笨方法XD 寫一個無窮迴圈,然後用示波器查看MOSI的腳位, 確實可以看到0x81 0x00從MOSI送出, 請問板友,這樣就是代表有1byte的資料(0x00)寫到暫存器嗎? 然而當我想把暫存器中的值讀出來,卻出了問題, 我寫了一個SPI_R(0x01),要讀取暫存器的值,但卻收到0x09 以下是目前測試的程式碼, http://imgur.com/jxEnDoK http://imgur.com/gLrIwDC 請問各位板友,可能是哪邊我沒弄清楚,導致寫錯了呢? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.227.198.212 ※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1483891747.A.6CD.html
chuegou: 我看不出來讀出來你放在那裡 01/09 08:44
fengwing: 你好!我放在副程式.因為想說用示波器看.就沒傳回到main 01/09 10:40
fengwing: 還是說這樣會有問題呢? 謝謝! 01/09 10:41
chuegou: 我想看看讀的示波器訊號 有clock和select更好 01/09 18:55
fengwing: 感謝你!目前暫時解決.換一個函數就可以了.真奇怪qq 01/10 00:35
fengwing: 我也會再發封信給您! 01/10 00:39
asdrtyjkl925: 你說的換函數是指把Read_REG和Write_REG給換掉嗎 01/13 21:42