我需要在stm32微控制器上创建一个虚拟uart端口。引脚给定,可以更改为定时器输入通道。接收信号将在电流和电压上调制,我需要同时检测两者。这两个引脚不能分配给 uart。是否有人有教程或其他东西,可以引导我走向正确的方向?我刚刚开始编程微控制器,我仍然在所有计时器,中断和细节上挣扎。
如果我们谈论的是小(9600(的波特率,那么您可以使用计时器和EXTI来实现这一点。在 EXTI 上,将引脚设置为上升沿和下降沿以及每个 IRQ 之间检查定时器值。
如果值大于开始和停止条件时间,则失败,否则您必须检查 EXTi 花费的时间并计算您是否收到了 10101010 或 11001100 或任何其他组合。
对于TX模式,使用定时器在位片处对UART输出数据进行精确中断,并逐位创建数据输出状态机。
另一种选择是使用 SPI 作为虚拟 UART。