请教一下:我现在有一个SPI外设的片选信号是高电平有效,请问这个软件上怎么样设置能实现?
谢谢!
你可以看下代码:hw_spi.c,
目前sdk,CS 为为默认低电平有效,spi操作我们有相应的代码,基于spi adaptor
两种选择:1)硬件外加反相,不需要改sdk
2)改下下面拉高拉低的操作,不改上层代码,但是这个情况spi上只有一个外设
//=========================== CS handling function =============================
void hw_spi_set_cs_low(HW_SPI_ID id){SPI_Data *spid = SPIDATA(id);
hw_gpio_set_inactive(spid->cs_pad.port, spid->cs_pad.pin); // pull CS low}
void hw_spi_set_cs_high(HW_SPI_ID id){SPI_Data *spid = SPIDATA(id);
hw_gpio_set_active(spid->cs_pad.port, spid->cs_pad.pin); // push CS high}
你可以看下代码:hw_spi.c,
目前sdk,CS 为为默认低电平有效,spi操作我们有相应的代码,基于spi adaptor
两种选择:1)硬件外加反相,不需要改sdk
2)改下下面拉高拉低的操作,不改上层代码,但是这个情况spi上只有一个外设
//=========================== CS handling function =============================
void hw_spi_set_cs_low(HW_SPI_ID id)
{
SPI_Data *spid = SPIDATA(id);
hw_gpio_set_inactive(spid->cs_pad.port, spid->cs_pad.pin); // pull CS low
}
void hw_spi_set_cs_high(HW_SPI_ID id)
{
SPI_Data *spid = SPIDATA(id);
hw_gpio_set_active(spid->cs_pad.port, spid->cs_pad.pin); // push CS high
}