在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>Arduino I2C多主機方法(為什么以及如何)

Arduino I2C多主機方法(為什么以及如何)

2022-10-31 | zip | 0.02 MB | 次下載 | 免費

資料介紹

描述

微控制器限制

幾年來我一直在構建“連接傳感器”,但最初專注于“傳感器”部分,直到最近才轉向“連接”。每次我探索一種新的連接技術——WiFi、蜂窩、藍牙LoRa 等——我都會遇到 Arduino 的一些限制,尤其是其有限的工作內存。當我開始連接傳感器時,這些問題源于兩個來源:1) 使用長變量或鍵;2) 字符串操作,例如解析 64 位 GSMloc 字符串以從附近的手機信號塔中提取時間或位置。

在找到這個多主解決方案之前,我已經嘗試了所有常見的疑點:使用非 Atmel 變體(例如Teensy )、將靜態變量移動到程序內存中以及在打印語句中使用 F( ) 參數我也開始將 TI 的 FRAM 芯片放在我的板上,因為我不喜歡 Arduino EEPROM 的有限壽命(100,000 次寫入)。

本文介紹了另一種方法,使用多個微控制器來管理我的電路板的功能。這些微控制器將共享對公共 I2C 總線的訪問和通信我想使用標準的Arduino Wire Library ,我很高興看到這個庫聲稱支持多主機。然而,正如wayneft 在 Arduino.cc 上的這個線程中所描述的那樣,有一個很大的問題:Arduino 的多主控支持可以在爭奪初始控制權的主控或總線之間進行仲裁,但它可能會在主控完成之前錯誤地釋放總線它。這可能導致總線和您的程序鎖定。

避免碰撞和比賽條件

我為這個問題開發了一個簡單的解決方案,再加上 Wire 確實提供的多主機支持,可以對 I2C 總線進行穩健的共享控制。我添加了線來連接微控制器上的兩組 I/O 引腳:忙碌和時鐘時鐘線是我的實時時鐘輸出的 32kbs 方波。Busy 和 Clock 線都使用 4.7k ohm 上拉電阻拉高。這允許我們對總線的控制進行仲裁,因為每個微控制器都需要使用 Busy 線“聲明”總線,而 Clock 線確保它們不會同時聲明總線。

以下是它如何與下面提供的示例代碼片段一起使用:

  • 如果 Arduino 想要讀取或寫入 I2C 總線,它首先需要檢查 Busy 線是否為高電平(這表示總線當前空閑)。然后,它需要檢查時鐘線,只有在時鐘線為低時才能將? Busy 線拉低
  • 如果 Simblee 想要讀取或寫入 I2C 總線,它首先需要檢查 Busy 線是否為高電平(這表示總線當前空閑)。然后,它需要檢查時鐘線,只有在時鐘線為高時才能將 Busy 線拉低
  • 如果 Simblee 或 Arduino 想要訪問總線并發現它Low ,他們需要等待。
  • 我通過創建兩個函數在代碼中實現了這一點:TakeTheBus();GiveUpTheBus();. 每個都返回一個布爾值,因此您可以編寫代碼以等待成功嘗試,然后再繼續。

這種類型的通信,其中一個上拉電阻器將線路保持為高電平,并且微控制器“寫入”總線的唯一時間是將其拉低,應該防止可能損壞任何一個處理器的情況。

與 SPI 相比

您可能會說——“I2C 也被稱為兩線接口。這種方法使用了四個,這并不比 SPI 好!”。沒錯,但請考慮以下幾點:

  • I2C 傳感器通常更常見且更便宜
  • 四線要求僅在兩個主控之間
  • I2C 傳感器可以在距離您的電路板更遠的地方進行通信

使用這種方法,您可以有效地在兩個微控制器之間分配工作。我讓 Arduino 專注于服務來自傳感器的中斷并將數據記錄到 FRAM。Simblee 能夠從該 FRAM 讀取數據并使用藍牙 LE 將其提供給手機上的應用程序。每個草圖都變得更短更容易調試,并且減少了 Arduino 內存的壓力。我計劃在后續文章中記錄電路板設計。

我希望你覺得這篇文章有幫助。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1DD3118電路圖紙資料
  2. 0.08 MB   |  1次下載  |  免費
  3. 2AD庫封裝庫安裝教程
  4. 0.49 MB   |  1次下載  |  免費
  5. 3PC6206 300mA低功耗低壓差線性穩壓器中文資料
  6. 1.12 MB   |  1次下載  |  免費
  7. 4網絡安全從業者入門指南
  8. 2.91 MB   |  1次下載  |  免費
  9. 5DS-CS3A P00-CN-V3
  10. 618.05 KB  |  1次下載  |  免費
  11. 6海川SM5701規格書
  12. 1.48 MB  |  次下載  |  免費
  13. 7H20PR5電磁爐IGBT功率管規格書
  14. 1.68 MB   |  次下載  |  1 積分
  15. 8IP防護等級說明
  16. 0.08 MB   |  次下載  |  免費

本月

  1. 1貼片三極管上的印字與真實名稱的對照表詳細說明
  2. 0.50 MB   |  103次下載  |  1 積分
  3. 2涂鴉各WiFi模塊原理圖加PCB封裝
  4. 11.75 MB   |  89次下載  |  1 積分
  5. 3錦銳科技CA51F2 SDK開發包
  6. 24.06 MB   |  43次下載  |  1 積分
  7. 4錦銳CA51F005 SDK開發包
  8. 19.47 MB   |  19次下載  |  1 積分
  9. 5PCB的EMC設計指南
  10. 2.47 MB   |  16次下載  |  1 積分
  11. 6HC05藍牙原理圖加PCB
  12. 15.76 MB   |  13次下載  |  1 積分
  13. 7802.11_Wireless_Networks
  14. 4.17 MB   |  12次下載  |  免費
  15. 8蘋果iphone 11電路原理圖
  16. 4.98 MB   |  6次下載  |  2 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935127次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191390次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183342次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81588次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73815次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65989次下載  |  10 積分
主站蜘蛛池模板: 中文字幕色婷婷在线精品中 | 美女视频黄色的免费 | 国产人人干 | 8050网| 日本午夜片成年www 日本午夜三级 | 日本三级全黄三级a | 8090yy理论三级在线观看 | 可以免费看的黄色片 | 老师叫我揉她内裤越快越好 | 午夜在线| 激情综合网色播五月 | 亚色中文| 九九re6精品视频在线观看 | 日不卡| 激情爱爱的免费视频 | 狂捣猛撞侍卫攻双性王爷受 | 日本爱爱片 | 国产在线理论片免费播放 | 狠狠色狠狠色综合婷婷tag | 九九精品免费观看在线 | 日本黄色免费大片 | 国产精品国产三级国产在线观看 | 国产精品免费视频拍拍拍 | 久久伊人成人网 | 伦理片日本韩国电影三级在线观看 | 亚洲成a人不卡在线观看 | 黄色免费在线视频 | 88av在线看 | 琪琪see色原网一区二区 | 天天干在线免费视频 | 国产农村妇女毛片精品久久久 | 精品成人网 | 男人的天堂色偷偷 | 亚洲最大成人综合网 | 中文字幕欧美成人免费 | 在线欧美色图 | 久久精品免费在线观看 | 黄色毛片免费进入 | 国产黄网站在线观看 | 久久综合九色综合欧洲 | 拍真实国产伦偷精品 |