我可以使用I2C使用除配置寄存器之外的所有寄存器与DRV1083-Q1进行通信。
0x00到0x08 我可以从寄存器读取敏感数据
0x30 SpeedCtrl我可以读写SpeedCtrl寄存器(我尝试写0xFFFF,当我读时得到0x81FF,这是我所期望的)
0x90至0x96我无法从这些寄存器中读取除00之外的任何内容,并且似乎无法写入这些寄存器
我为什么不能读写Config寄存器? 是否有任何类型的写保护?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我可以使用I2C使用除配置寄存器之外的所有寄存器与DRV1083-Q1进行通信。
0x00到0x08 我可以从寄存器读取敏感数据
0x30 SpeedCtrl我可以读写SpeedCtrl寄存器(我尝试写0xFFFF,当我读时得到0x81FF,这是我所期望的)
0x90至0x96我无法从这些寄存器中读取除00之外的任何内容,并且似乎无法写入这些寄存器
我为什么不能读写Config寄存器? 是否有任何类型的写保护?
我取得了一些进展,但仍在挣扎。
我可以执行大批量读取并查看默认值。
当我尝试执行大容量写入操作时,我无法写入影子寄存器(0x90-97)。
详细信息:
1. 0x60写入:8000读取:0000美元 -数据表显示我无法这么好地阅读此内容。 这就好像我没有清除电机输出被禁用一样
2. 0x31写入:0000读:0000美元
3. 0x60写入:代码读取:$C0DE -似乎按顺序
4. 0x32检查状态(LSB)0001美元
5. eeReadyStatus设置,
6. 0x90写入:034美元A读取:0404美元 -写入失败
7. 0x91写道:1美元A3A读:0404美元
8. 0x92写道:0006美元读:0404美元
9. 0X93写道:138美元E读:0404美元
10.0X94写道:$BB6F读:0404美元
11.0X95写道:3132美元读:0404美元
12. 0x96写入:0534美元读:0404美元
13. 0x35写道:06 读:0006美元
可以看到,我无法写入任何配置寄存器。 是0404,这是我为什么失败的线索,因为它在所有7个寄存器上都是相同的值。
我对I2C的范围进行了界定,以确认我没有丢失地址的MSB (因此9不会变为1)。 跟踪附加写入0x90,带FF和AA