各位板友好
我想利用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
请问各位板友,可能是哪边我没弄清楚,导致写错了呢?
谢谢!