小弟参加大学生电子设计竞赛,现在做无线通讯部分,从网上买了2块nRF905的板子,但是很郁闷,一直调不通,其实驱动程序应该不是很难,因为网上确实有很多资料,比如hotpower前辈的。我使用LPC2138写驱动,但是连最简单的寄存器配置都不行,我就不贴程序了,就问几个问题: 1。在初始化nRF905时,进入standby模式,需要延时吗?我看hotpower前辈的代码里有__nop();好像是230ms左右。但是有的程序里没有,我认为应该没有。hotpower前辈的代码应该只是为了Tx/RxMode返回时的模式转换时间。 2。写配置寄存器时,如果写入寄存器时同时让CPU读nRF905返回的数据,那返回的应该就是写入的数据吧? 还是放一块程序吧: void nRF905_write(uint8 data) { uint8 rec_dat = 0; S0SPDR = data;
while ((S0SPSR & 0x80) == 0); rec_dat = SOSPDR; return rec_dat; }
rec_dat和data相等吧? 3。我的程序里写配置寄存器时,同时读nRF905返回的数据,有时是当前写入的数据,有时是0x00,0xff,不解,如果程序正确,会是硬件的问题吗?因为我看那块板子焊的真丑,不干不净的,像是手工用热风枪焊的,焊锡还到处都是,真窝囊。 就问这些吧,写了好几天了,快疯了,感觉真不难的代码就是搞不定,现在已经想把责任推到板子上了,。无奈,。。有劳各位高手帮忙指点一下。 |