c-通过SPI端口对STM32CUBEIDE中的MCP4141数字电位计进行编程



我正在尝试使用NUCLEO F334R8板在STM32CUBEIDE开发环境中对Microchip MCP4141数字电位计进行编程。我通过SPI通信端口发送一个16位命令。当我将命令字节与数据字节一起发送时,我无法注意到MCP4141的P0A和P0W端子之间的电压变化。你能帮我找出编程错误吗?感谢

uint8_t data[2];
data[0]=0x00;
data[1]=0x0F;
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4,GPIO_PIN_RESET);
HAL_SPI_Transmit(&hspi1, data, 2, 500);
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4,GPIO_PIN_SET);

通常当SPI外围设备不工作时,从芯片不会接收到命令。这可能有多种原因:

  • 接线不正确(MOSI、MISO、CLK线(
  • SPI模式不正确(时钟相位、时钟极性(-->检查CubeMX中的SPI设置
  • 由于EN或RST引脚不正确/浮动,从属芯片处于重置状态

你能探测数据线和时钟线吗?你看到有信号在传送吗?或者,您能否成功地从芯片内部存储器读取任何内容,例如状态寄存器?

相关内容

  • 没有找到相关文章

最新更新