开机初始化后先读0x00寄存器能读到0xAD,读0x02能读到0xF2。
但是在每秒1次的timer里再读就读不到了,读XYZ也读不到。
继而尝试先写0x52到0x1F soft reset,还不行,写0x02到0x2D,之后再读,也还是读不到。
还有什么要处理的?
开机初始化后先读0x00寄存器能读到0xAD,读0x02能读到0xF2。
但是在每秒1次的timer里再读就读不到了,读XYZ也读不到。
继而尝试先写0x52到0x1F soft reset,还不行,写0x02到0x2D,之后再读,也还是读不到。
还有什么要处理的?
总之要先能读到ID寄存器再考虑XYZ或写操作,要找到timer里读不到的原因,先检查程序问题,程序确认没问题用示波器看通讯接口时序正确不正确
1,已能读到ID寄存器。 2,程序能打印数据,timer运行正常, 3,spi之前示波器看过对的,读ID寄存器能读, timer里的我可以再看下,但因为都是调用的同一个spi读寄存器函数,所以大概率也是对的。 4,请问芯片上电默认状态是可以多次读ID寄存器的对吗?(不会休眠或者待机无响应之类的) 5,写0x02到0x2D应该就开始测量了吧,就可以读XYZ了吧,没有别的需要操作的?
1,已能读到ID寄存器。 2,程序能打印数据,timer运行正常, 3,spi之前示波器看过对的,读ID寄存器能读, timer里的我可以再看下,但因为都是调用的同一个spi读寄存器函数,所以大概率也是对的。 4,请问芯片上电默认状态是可以多次读ID寄存器的对吗?(不会休眠或者待机无响应之类的) 5,写0x02到0x2D应该就开始测量了吧,就可以读XYZ了吧,没有别的需要操作的?
补充测试:在timer里第一次也能读对,后面都不对。 示波器看波形,每次的MOSI波形都一样,是对的,但是第一次MISO有正确输出,后面没有输出。
1不是说timer里读不到吗,要先确认在timer里能读到ID。
2可以多次读取,没问题
3读不到的话说明没有通讯成功,soft reset肯定也写不进去
4建议和数据手册时序再仔细检查下。也可以把清楚的波形发上来以及能重复读到和timer里只能读一次的程序