我想让一个ATmega324pa作为SMBus的奴隶运行。在
我在Pi上使用了以下代码:
import smbus as smbus
i2c = smbus.SMBus(1)
i2c_addr = 0x30
result = i2c.read_block_data( i2c_addr, reg )
在AVR上,我用的是:
^{pr2}$使用(gcc改编)版本:http://www.atmel.com/images/AVR316.zip来自http://www.atmel.com/devices/ATMEGA324A.aspx?tab=documents
我的逻辑分析仪显示,有些东西在部分工作:
但我认为我做错了什么,因为AVR没有确认读到的内容,也没有延长时钟,也没有发送响应。在
我下一步该去哪里?在
我能对RasPi上的pythonsmbus模块有信心吗?在
你所链接的问题是i2c时钟拉伸只是在树莓皮上断了。更多信息:http://www.advamation.com/knowhow/raspberrypi/rpi-i2c-bug.html
如果一个传感器有其他输出,比如UART,这是一个选择,但对于一些项目,我不得不使用micro或Beaglebone或其他东西。在
我试着用Beaglebone的SMBus代替树莓Pi。在
当我在i2c总线上增加了一些10K的上拉电阻后,这个工作非常完美。(Raspberry Pi在i2c引脚上具有内部上拉。)
相关问题 更多 >
编程相关推荐