21ic问答首页 - HCL136 spi片选总是提前被拉高
HCL136 spi片选总是提前被拉高
24kdewhite2024-01-11
如下图,CS提前拉高了,
给M0P_SPI1->DATA写入后必须加些延时才行,只判断SpiTxe为空不可靠,代码要这样加延时:
static void LCD_SPI_Send(uint8_t *data, uint32_t size)
{
uint32_t i;
M0P_SPI1->SSN = FALSE;
for(i = 0; i<size; i++)
{
M0P_SPI1->DATA = data;
__NOP();
__NOP();
__NOP();
__NOP();
delay100us(2);
while(Spi_GetStatus(M0P_SPI1, SpiTxe) == FALSE){};
}
M0P_SPI1->SSN = TRUE;
}
是芯片的bug吗。。。
给M0P_SPI1->DATA写入后必须加些延时才行,只判断SpiTxe为空不可靠,代码要这样加延时:
static void LCD_SPI_Send(uint8_t *data, uint32_t size)
{
uint32_t i;
M0P_SPI1->SSN = FALSE;
for(i = 0; i<size; i++)
{
M0P_SPI1->DATA = data;
__NOP();
__NOP();
__NOP();
__NOP();
delay100us(2);
while(Spi_GetStatus(M0P_SPI1, SpiTxe) == FALSE){};
}
M0P_SPI1->SSN = TRUE;
}
是芯片的bug吗。。。
赞0
评论
2024-01-13
您需要登录后才可以回复 登录 | 注册