Part Number:DRV8323Other Parts Discussed in Thread:C2000WARE
SPI通讯读不出寄存器数据,但是从芯片的输出来看,写寄存器2应该是写进去了,下面是我的配置代码
void SPI_Write(uint16_t addr, uint16_t data)
{
uint16_t commandword = ((addr << 11) | data);
HAL_GPIO_WritePin(M_CS_GPIO_Port,M_CS_Pin,GPIO_PIN_RESET);
HAL_SPI_Transmit(&hspi2,(uint8_t *)&commandword,1,20);
HAL_GPIO_WritePin(M_CS_GPIO_Port,M_CS_Pin,GPIO_PIN_SET);
HAL_Delay(5);
}
void SPI_Read(uint16_t addr)
{
HAL_GPIO_WritePin(M_CS_GPIO_Port,M_CS_Pin,GPIO_PIN_RESET);
uint16_t commandword = (0x8000 | (addr << 11));
HAL_SPI_Transmit(&hspi2,(uint8_t *)&commandword,1,20);
//HAL_SPI_Receive(&hspi2,(uint8_t *)&commandword,1,20);
HAL_GPIO_WritePin(M_CS_GPIO_Port,M_CS_Pin,GPIO_PIN_SET);
HAL_Delay(5);
}
SPI_Write(0x03,0x1BFF);
SPI_Write(0x02,0x1052);
SPI_Write(0x03,0x1EFF);
03寄存器的锁应该是默认不需要解锁的,但是写进入02的值似乎和实际输出对不上,而且后面几个电流相关的参数也没有配置
请问一下为什么读不出数据以及应该配置哪些参数
hw l:
Part Number:DRV8323
准备使用1x模式,但是02寄存器的com位设置之后没有反应,该芯片的03寄存器默认值是没有锁定寄存器,写入应该都是正常的,但是写入之后输出的实际值,对不上手册中的理论值,能请工程师给一个如何配置寄存器的说明吗,发帖后可以把读写相关的源码贴出来
,
Cherry Zhou:
您好我们已收到您的问题并升级到英文论坛寻求帮助,如有答复将尽快回复您。谢谢!
,
hw l:
请问一下大概需要多久能有回复
,
Cherry Zhou:
这周工作日内应该会给到您相关答复。
,
Cherry Zhou:
您好,
不知道您使用的是哪款 C2000器件。您可以参阅 Motor Control SDK 中使用 DRV8323RS 和 F28002x/003x/0013x 的示例通用实验。
https://www.ti.com/tool/C2000WARE-MOTORCONTROL-SDK
Universal Project and Lab User’s Guide: https://www.ti.com/lit/spruj26
Example lab project at the folder:
C:\ti\c2000\C2000Ware_MotorControl_SDK_<version>\solutions\universal_motorcontrol_lab\f28002x
C:\ti\c2000\C2000Ware_MotorControl_SDK_<version>\solutions\universal_motorcontrol_lab\f28003x
C:\ti\c2000\C2000Ware_MotorControl_SDK_<version>\solutions\universal_motorcontrol_lab\f280013x
,
hw l:
感谢回复,我这边使用的芯片是STM32F103RCT6,帖子上面的C2000是不太熟悉发帖的功能默认选择的,我先看看资料,可以的话麻烦看看有没有STM32的SDK,谢谢
,
Cherry Zhou:
好的那您先看下,我们具体再问下工程师。
,
Cherry Zhou:
hw l 说:,我这边使用的芯片是STM32F103RCT6,
抱歉,我们只支持TI MCU的相关问题哈。
其余与电机相关的问题还麻烦您发布一个新的帖子,这样方便我们的工程师来为您跟进。谢谢。
,
hw l:
那关于我后续反馈的这两个具体问题能做解答吗
,
Cherry Zhou:
可以的,该贴我们会先关闭,您可以关注以下帖子,这两个问题我们会在以下帖子中为您跟进:
e2echina.ti.com/…/drv8323-spi
,
James Wang:
写完寄存器后再读回来是一样的吗。如果读回来不一致,应该是没有写成功。可以抓一下SPI的波形。