直接用HAL可以SPI通讯 用RTT的SPI通讯不了 对比示波器发现 MOSI的图形不一致。


uint8_t WR_CMD (uint8_t cmd)
{
uint8_t Rxdata;
rt_spi_transfer(spi2_dev_ecat,&cmd,&Rxdata,1);
return Rxdata;
}
uint8_t WR_CMD (uint8_t cmd)
{
uint8_t Rxdata;
HAL_SPI_TransmitReceive(&SPI2_Handler,&cmd,&Rxdata,1, 1000);
return Rxdata;
}
第一张图是可行的。第二张通讯错误。
哪些原因会引起这样的问题呢???高手能给点意见吗?RTT使用起来心里好没底。
原因已经找到,和你说的比较接近,CLK我没有控制好导致通讯不成功。RTT的SPI是可以用的。
好奇你的CLK是怎么控制的? SPI是同步信号,时钟与数据是同步的,没办法人工移位。