在stm32微 Controller 上创建虚拟UART

标签 c stm32 uart

我需要在 stm32 微 Controller 上创建一个虚拟 uart 端口。引脚已给出,可以更改为定时器输入 channel 。接收信号将在电流和电压中进行调制,我需要检测两者。这两个引脚不能分配给 uart。有人有教程或其他东西可以引导我走向正确的方向吗?我刚刚开始对微 Controller 进行编程,但我仍在为所有定时器、中断和细节问题而苦苦挣扎。

最佳答案

如果我们谈论的是小波特率(9600),那么您可以使用计时器和 EXTI 来实现这一点。 在 EXTI 上将引脚设置为上升沿和下降沿,并在每个 IRQ 之间检查定时器值。

如果值大于开始和停止条件时间,则失败,否则您必须检查 EXTi 花费的时间并计算您是否收到 10101010 或 11001100 或任何其他组合。

对于 TX 模式,使用定时器在位片处精确中断 UART 输出数据,并创建状态机以逐位输出数据。

另一种选择是使用 SPI 作为虚拟 UART。

关于在stm32微 Controller 上创建虚拟UART,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43088209/

相关文章:

c - 如何指定在支持 2 个不同设备的驱动程序中打开哪个设备?

c - 分配给具有数组类型的表达式并请求非结构或 union 中的成员

c - UART无响应

c - 用于 win32/C 的线程生产者/消费者的阻塞队列

c - 让程序按照命令运行

c - IAR 为自定义数据定义内存区域

stm32中的Arduino millis()

c - 带有 LibOpenCM3 的 STM32 FreeRTOS

serial-port - Raspberry Pi UART 串​​口无法正常工作

python - 如何只读取前两个数字? python +串口