bit banging 上的一根线与 usart 上的一根线
one-wire over bit banging vs. one wire over usart
我想用one-wire协议的传感器,请问哪种协议使用方式更优化更合理?在 usart 上还是使用 bit banging?
如果这很重要,我正在使用 am2305 和 stm32fxx 微控制器。
我更喜欢使用带有一个缓冲区的 USART+DMA 进行发送和接收。我认为这个选择取决于您的技能和项目要求。
有很多方法可以实现单线协议。
- exti 中断 + timer base 模式
- 定时器输入捕获+dma
- usart 中断
- usart(仅限错误中断)+ dma
它们各有优缺点:
- 引脚忙或空闲
- 忙碌或空闲的外围设备(tim、usart)
- 忙或空闲 DMA 通道
- 程序中的中断频率较低或较高
- 实施起来容易还是困难
我有不同的项目,其中使用上面列出的第一个和最后一个方法。
您必须知道哪种方法更适合您和您的项目。
我想用one-wire协议的传感器,请问哪种协议使用方式更优化更合理?在 usart 上还是使用 bit banging?
如果这很重要,我正在使用 am2305 和 stm32fxx 微控制器。
我更喜欢使用带有一个缓冲区的 USART+DMA 进行发送和接收。我认为这个选择取决于您的技能和项目要求。
有很多方法可以实现单线协议。
- exti 中断 + timer base 模式
- 定时器输入捕获+dma
- usart 中断
- usart(仅限错误中断)+ dma
它们各有优缺点:
- 引脚忙或空闲
- 忙碌或空闲的外围设备(tim、usart)
- 忙或空闲 DMA 通道
- 程序中的中断频率较低或较高
- 实施起来容易还是困难
我有不同的项目,其中使用上面列出的第一个和最后一个方法。
您必须知道哪种方法更适合您和您的项目。