Hello_Gioia
2017-03-21 08:09
采纳率: 50%
浏览 2.1k

gpio模拟i2c和pwm应该从哪里开始下手?

毕业设计要做的是在移植了Linux系统的TQ2440的开发板上连接三个传感器,其中有两个要分别用i2c和PWM,看到有很多说的是用gpio口模拟i2c和PWM。可是我现在很困惑,这个i2c和PWM到底是什么呢?是一个接口还是一个协议?因为也看到有的人说过i2c算是什么总线,也要写驱动,然后传感器也要写驱动......所以我很乱,我平常在网上看到的i2c驱动到底是说总线那个驱动还是说其下挂载的驱动。希望有了解这方面的大神多跟我详细说一点。还有,能不能给个实例让我参考一下。现在脑子一团乱,不知道从哪里下手。
学渣一个,但不想去淘宝买,想自己学点毕竟也想试着努力找一下这方面的工作。
拜托大家了!

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • miaopasi_QAQ 2017-03-21 08:53

    gpio模拟i2c 可以参考 这个 http://book.51cto.com/art/201304/390509.htm

    gpio 模拟 pwm 可以使用定时器中断 控制GPIO的置高和拉低模拟PWM

    评论
    解决 无用
    打赏 举报
  • 王牧天 2017-03-22 06:16
    评论
    解决 无用
    打赏 举报
  • Allen不会Crossover 2017-03-23 05:07

    你好,
    1.首先来说下I2C, 两线式串行总线(SDA 数据,SCL时钟)这是飞利浦开发的总线标准。我觉得你不要纠结I2C的定义。
    他的本质是通信协议,但是通信协议要在板子上如何表现出来呢?这就需要你来开发I2C驱动了。
    建议你网上学习一下I2C协议,你就明白是怎么回事了,另外用GPIO模拟I2C可以帮助你深入理解该协议。当然不少
    芯片板载了I2C模块,你查一下技术手册也很方便开发。
    2.PWM,通过脉冲的占空比来模拟输出电压,看百度百科就知道了。
    3.i2c和PWM都是板子上的模块,你要使用这些模块首先你得用程序去配置他们,你得这个配置程序就可以称作是这个模块
    的驱动。你说的传感器是外设,是cup的延伸,现在这些传感器都完善的比较便于开发了。
    你要做嵌入式这块的话建议你先玩玩简单的单片机,建立一个大概的框架之后再玩一些比较复杂的开发板。
    希望对你有帮助

    评论
    解决 无用
    打赏 举报
  • Allen不会Crossover 2017-03-23 05:10

    补充一下,你说的传感器,如同I2C模块一样,你要使用它你首先也需要写一些配置程序,一些功能程序,处理程序,这些合起来就是它的驱动。
    建议你写的时候每个模块独立写,留出接口函数调用,这样比较容易Debug也利于你以后的开发和移植。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题