1234
返回列表 发新帖我要提问本帖赏金: 20.00元(功能说明)

[AT32F403/403A] 使用普通GPIO实现模拟SPI功能

[复制链接]
lzbf 发表于 2025-4-14 19:12 | 显示全部楼层
如果需要精确的时序,可以使用微控制器的定时器来产生SCK脉冲。
jkl21 发表于 2025-4-14 20:56 | 显示全部楼层
将GPIO引脚配置为输出模式,用于SCK(串行时钟)和MOSI(主设备输出,从设备输入)信号。
将GPIO引脚配置为输入模式,用于MISO(主设备输入,从设备输出)信号。
 楼主| dffzh 发表于 2025-4-15 08:58 | 显示全部楼层
本帖最后由 dffzh 于 2025-4-15 08:59 编辑
robincotton 发表于 2025-4-13 12:34
对于大量数据传输,可以考虑一次性缓冲多个字节,减少逐位操作的开销。

对于大量数据传输,可以考虑加队列
 楼主| dffzh 发表于 2025-4-15 09:02 | 显示全部楼层
mattlincoln 发表于 2025-4-14 15:37
对MOSI/MISO/SCK加磁珠或TVS二极管抑制噪声。

硬件上加RC滤波,设置截止频率
 楼主| dffzh 发表于 2025-4-15 09:08 | 显示全部楼层
1988020566 发表于 2025-4-13 10:37
在不使用SPI时,将GPIO引脚配置为低功耗模式。

低功耗产品需要要这么操作
 楼主| dffzh 发表于 2025-4-15 09:08 | 显示全部楼层
lotsbiss 发表于 2025-4-14 09:07
对于点屏这类只发不收的应用,内存足够的情况下,可以使用TMR配合DMA,往GPIO的scr直接搬数据(CS SCK DAT D ...

good idea
lzmm 发表于 2025-4-15 20:34 | 显示全部楼层
在高速传输时,GPIO引脚的切换速度可能成为瓶颈。
 楼主| dffzh 发表于 2025-4-16 08:48 | 显示全部楼层
lzmm 发表于 2025-4-15 20:34
在高速传输时,GPIO引脚的切换速度可能成为瓶颈。

嗯,只能用于低速场景,另外CLK速率太高,其波形会失真
ShimmeringDawn 发表于 2025-6-20 08:13 | 显示全部楼层
可以实现的,但是效率很低,就和模拟I2C一样。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部