新闻中心

EEPW首页>嵌入式系统>设计应用> 基于I2C总线的单主多从单片机之间的通信

基于I2C总线的单主多从单片机之间的通信

作者: 时间:2013-02-17 来源:网络 收藏

图3 从机接收流程图

  4.2 编程中的注意事项

  a)在主机或从机初始化时,一定要设定数据传输方向;

  b)由于每次发送/接收数据时TWCR寄存器的中断标志位必须置位,因此程序中要有等待TWCR寄存器中断位置位程序,同时,为了避免由于某种原因导致中断位不能置位造成等待程序进入死循环,在等待中断位置位程序中要有等待超时返回程序。

  c)的使用,除了基本的启动、结束、应答、非应答子程序外,还应有应答位检查、发送和接收单字节、发送和接收多字节等子程序。

  5 结论

  作者在程序流程的每个关键部分都设置了错误查询和错误处理,使得I2C程序能够从错误中自动恢复,避免了由于I2C通信导致的错误而使得系统无法正常工作,文中还给出了部分发送子程序和编程注意事项。对于图2和图3的I2C,作者已在多个科研项目中进行了编程使用。实践证明,按上述流程编写I2C通信程序,主从单片机之间的通信非常可靠。

  本文作者创新点:程序流程的每个关键部分都设置了错误查询和错误处理,使心通信能够从错误中自动恢复,提高了使用I2C通信的可靠性,并且给出了避免死循环的错误处理程序。

参考文献:

[1].Atmega128datasheethttp://www.dzsc.com/datasheet/Atmega128_html.
[2].Atmega168datasheethttp://www.dzsc.com/datasheet/Atmega168_.html.
[3].datasheethttp://www.dzsc.com/datasheet/_454556.html.

通信相关文章:通信原理


双控开关相关文章:双控开关原理

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭