工具与软件:
大家好、团队成员:
我的客户使用 GPIO 来模拟 SPI 功能。
CC2340R5-Q1充当 SPI 从器件、SPI 主器件是传感器 IC。
来自 传感器 IC 的 SPI 时钟 大约为10kHz。(脉冲宽度约为37us)。
使用了两个 GPIO 引脚。 一个 GPIO 设置为输入引脚(引脚名称:SPI-Clock)、另一个 GPIO 设置为输出引脚(引脚名称: SPI-MISO)。
SPI-Clock 设置为边沿触发器(上升沿和下降沿)。
他们编写一个示例程序来检测 SPI 时钟的边沿。
当它检测到上升沿时、 SPI-MISO 设置为高电平、当它检测到 下降 沿时、 SPI-MISO 设置为低电平。
它应如下所示:

但当我们运行更长的时间时、这似乎并不准确。
请帮助提供注释、以便微调计时。 谢谢。
您可以在以下屏幕截图中看到更多信息:

下面是示例代码:
static uint8_t m_aa = 1;
void gpio_spi_data_transfer(void)
{
GPIO_setConfig(SG_HW_SPI_MISO, GPIO_CFG_OUTPUT );
GPIO_write(SG_HW_SPI_MISO, (m_aa%2) );
m_aa++;
}
static void SPI_SCLK_IRQHandler(uint_least8_t index)
{
gpio_spi_data_transfer();
}
init()
{
GPIO_PinConfig m_cfg;
m_cfg = GPIO_CFG_INPUT | GPIO_CFG_IN_INT_BOTH_EDGES;
GPIO_setConfig(SG_HW_SPI_CLK, m_cfg);
GPIO_setCallback(SG_HW_SPI_CLK, SPI_MISO_IRQHandler);
GPIO_enableInt(SG_HW_SPI_CLK);
}


