初级会员

- 积分
- 66
- 金钱
- 66
- 注册时间
- 2016-2-22
- 在线时间
- 44 小时
|

楼主 |
发表于 2016-11-17 15:30:28
|
显示全部楼层
本帖最后由 亮亮超神了 于 2016-11-17 15:33 编辑
这是我的代码 GP2_SSN = 0;
SPI1_ReadWriteByte(0x81); //写寄存器1
SPI1_ReadWriteByte(0xff);
SPI1_ReadWriteByte(0xff);
SPI1_ReadWriteByte(0xff);
SPI1_ReadWriteByte(0xb1); //读取第1个寄存器值
for(i=0;i<3;i++)
{
buf3 = SPI1_ReadWriteByte(0xff);
}
GP2_SSN = 1;
LCD_ShowxNum(30,20,buf3[2],16,24,0);
LCD_ShowxNum(30,50,buf3[1],16,24,0);
LCD_ShowxNum(30,80,buf3[0],16,24,0);
关于0x81和0xb1是八位的读写命令,改命令后三位代表寄存器地址,也就是我写寄存器1,再读寄存器1,理论读出来全是ff,ff,ff,但为什么都是0呢??? 这里已经测试了好多种可能,使能信号,SCK,MISO信号是满足时序的。时钟极性相位四种可能都试过了,还是不知原因!这个问题纠结好久了,所以花大赏金希望大家能帮我看看是怎么回事!先谢谢各位了
|
|