嵌入式开发中的Bit bang是什么意思?

摩卡STM32 2023-09-21 10:26:40 3873阅读 山东省青岛市 联通
请教一下嵌入式开发中的Bit bang是什么意思?
标签: #嵌入式#

提示:如果此问题没有解决您的需求,您可以点击 “我也要问” 在线咨询。 我也要问

若此问题存在违规行为,您可以点击 “举报”

2条回答

  • 威悦升电子
    2023-09-21 10:33:31 已采纳
    举个简单的例子可能比较好理解,比如I2C下的Bit bang,就是使用软件通过 IO 脚去实现 I2C 的时序从而使用 I2C 协议进行通信

    这样做的好处是可以突破硬件上的限制,例如芯片不具有硬件 I2C 模块,或者硬件 I2C 模块损坏,又或者使用硬件 I2C 模块时布线非常麻烦。坏处是需要写代码模拟时序,根据不同的硬件平台和不同的时钟频率,代码中的部分参数是不一样的。
    需要设置GPIO引脚来模拟SCL和SDA的时序功能。


    再比如SPI通信下的Bit bang,就是通过GPIO端口模拟SPI接口引脚(CS、MOSI、MISO、CLK)上的时序信号来实现SPI协议,与对应SPI设备进行通信。开发工作相对大一些,也需要细心调试,不如用硬件外设来实现方便。

    564 举报
  • 真爱你的云
    2023-09-21 10:28:03
    嵌入式驱动程序开发中经常会看到Bit bang,那Bit bang模式到底是什么呢?其实很简单,就是不用微处理器的硬件外设去进行通信,而是用普通的GPIO口来模拟协议实现通信,当微控制器没有内外设去执行功能的时候,或者当所有的内外设都已经被使用了,而此时又有一个新的请求,那么开发者就应该选择Bit bang设计模式。Bit bang模式的解决方案很有效率,但通常需要大量的软件开销来确保其实施的能力。Bit bang模式可以让开发者手动完成通信协议或外部行为。
    552 举报
103电阻是多少
STM32 38467人阅读
Linux内核printfk打印信息怎么打开
Linux驱动 8487人阅读

快速提问,在线解答

1

描述需求

填写需求概要标题,补充详细需求

2

耐心等

等待网友或网站工作人员在线解答

3

巧咨询

还有疑问?及时追问回复

立即咨询