UART与I2C对SPI,用于微控制器之间的处理器间通信

 蛋农老张 发布于 2023-01-30 11:50

我正在研究一种连接两个微控制器的方法.在序列化的层面上,我正在考虑使用Nano protobuffers(http://code.google.com/p/nanopb/).这样我就可以编码/解码消息并在两个处理器之间发送它们.

基本上,一个小型处理器将是RPC服务器,能够执行多个功能.较大的处理器将通过发送的消息调用RPC,然后当数据准备好时,它将从较小的处理器读取它.

使用UART,I2C或SPI的优缺点是什么?

邮件将在发送之前放入邮箱中.

最好的问候,Drasko

1 个回答
  • 这取决于您的总需求和引脚的价格.

    I2C只需要两个引脚,但它很慢并且有或没有中断来处理它是一件痛苦的事情,即使是在外设模块中构建也是如此.它是一个主/从系统,它适用于控制许多慢速设备,如温度传感器.
    所有总线设备只有两条线路,通过协议中的I2C地址进行选择.

    Uart需要两个引脚,通常更快,更容易处理,但两侧需要(几乎)相同的时钟.如果两个系统有时需要在不等待主轮询请求的情况下发送数据,那么一对一的异步系统就会很好.
    也可以用作总线系统,但是你需要一个主/从结构或更复杂的协议.

    SPI需要3个(或4个带CS)引脚,它是最快的,即使使用DMA也很容易实现,低CPU时间开销,通常是缓冲的.当你有足够的自由针脚时我会更喜欢它.

    2023-01-30 11:54 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有