NXP MCU 技术william hill官网
直播中

申换换

7年用户 1529经验值
私信 关注
[问答]

如何为LPC111x编写一个中断驱动的SPI驱动程序?

我正在为 LPC111x 编写一个中断驱动的 SPI 驱动程序。在 SPI 接口上将连接多个硬件设备。不同 SPI 设备的片选线会连接到一些 GPIO 线上。
因此,在实际字节传输开始之前,必须将其中一条 GPIO 线拉低以选择合适的设备,而在传输结束后,必须再次将 GPIO 线拉高以取消选择设备。为此,我需要知道 SPI 传输何时实际完成。当然,我可以轮询 SSP 状态寄存器(第 4 位),但我更愿意在我的所有字节都通过 FIFO 传输时接收中断。这可能吗?

为此,我可以以任何方式错误使用“Rx fifo 不为空”或“Tx fifo 不为空”吗?这些中断多久触发一次?每个 CPU 时钟周期?每个 SPI 时钟?每个 SPI 帧?[请注意,在 SPI 写入和读取之间切换时会弹出非常相似的问题:数据何时真正可用??]

更多回帖

发帖
×
20
完善资料,
赚取积分