你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
使用STM32G070,一个板子实现主机只接收,另一个板子实现从机只发送,通信波形上发现主机SPI关闭使能后,片选信号已经置高,仍然有8个时钟输出,如图所示,是要注意什么吗?
举报
楼主,您好。这个要看您的使用了,虽然CS拉高了,如果还是执行了SPI READ操作,还是会产生波形的。
废鱼 发表于 2022-2-18 16:29 [md]楼主,您好。这个要看您的使用了,虽然CS拉高了,如果还是执行了SPI READ操作,还是会产生波形的。 [/m ...
butterflyspring 发表于 2022-2-18 21:01 以前刚好遇到过。主要是这种模式下的时钟是连续发出来的。所以只要判断数据接收后关掉时钟就可以了。 ...
电脑hdmi连接显示器无信号
夜深了,睡不着
晚上好啊,兄弟们
第三季度啦,兄弟们
STM32G070RBT6TR ADC采集定点电压误差较大,有没有优化方向
LIS2MDL X轴数据读取问题
无法完全整片擦除 STM32H Nucleo
周末卡点打卡
使用touchgfx控件modalWindow,显示会有条纹
stm32cubemx和数据手册对不上
楼主,您好。这个要看您的使用了,虽然CS拉高了,如果还是执行了SPI READ操作,还是会产生波形的。
while(ubReceiveIndex<ubNbDataToReceive)
{
while(RESET ==LL_SPI_IsActiveFlag_RXNE(SPI1));
aRxBuffer[ubReceiveIndex++] = LL_SPI_ReceiveData8(SPI1);
}
LL_SPI_Disable(SPI1);
LL_GPIO_SetOutputPin(GPIOB,LL_GPIO_PIN_0);
LL_mDelay(1);
没有执行读操作了
只要主器件处于只接收模式,停止连续时钟的唯一方式就是通过 SPE=0 来关闭外设。这必 须在最后一个数据帧传输内的特定时间段,即第一位采样与最后一位传输开始之间完成(以便接收全部数量的预期数据帧并防止在最后一个有效数据帧后读取任何其他的“空”数据)。在该模式下关闭 SPI 时必须遵循特定步骤。 while(ubReceiveIndex<ubNbDataToReceive)
{
while(RESET ==LL_SPI_IsActiveFlag_RXNE(SPI1));
aRxBuffer[ubReceiveIndex++] = LL_SPI_ReceiveData8(SPI1);
}
LL_SPI_Disable(SPI1);
写代码的话就是接收最后一笔数据就关闭使能,但是还是会有时钟输出