一个管脚输出占空比可调的方波,不输出时为高电平,每次输出8个负脉冲,输出完8个后又变成高电平。
在输出每个脉冲的下降沿触发DMA把内存中的8个字节送到一个完整的端口,比如PB0~7,并且要求在上升沿到来之前到达端口引脚,并且保持电平稳定。
8个下降沿触发8次DMA把8个字节自动送到PB,8个上升沿把8个字节以SPI的时序打出去。
方波的频率可以到达4M左右,DMA的速度也要跟上上升沿的速度。
每次传完8个字节后,停止方波,直到下次人为启动。
使用外部总线的读写时序可以实现这功能,但是外部总线的封装一般在100脚以上。
请问STM32的定时器能否实现这一功能?
此帖出自
小平头技术问答
我现在用的办法是用一个IO连接到TIMX的输入脚,捕获下降沿,IO软件翻转,可以到达2M多,3M以上就出现数据偶尔错位。
这种办法有局限性就是要硬件相连
想用主从定时器
这个过程中断打断也不会有什么影响
只要上升沿到来的那刻GPIO的数据是稳定的就没问题
CPLD就涉及成本了
一周热门 更多>