作者lifaung
1. 其實寫code, 認真點你就會想去考慮multi master的狀況(所以repeated start的應用現在比較主流, 因為可以佔據住bus, 避免其他裝置占用)
2. 考慮multi master的時候, 你就會想知道是否可以偵測系統上是否存在"別的"住客, 這時候招數就很多了
3. Multi master是符合規範的作法, 有興趣可以找找TI 和STM的文件(但是我知道不少工程師根本忘記這回事......)
4. 實際上的應用來說, multi master的狀況下, 有可能有晶片同時是master又是slave的, 這時候寫起來會很精彩(建議要搞硬體化啦, 不然光是一些異常判斷就要消耗掉很高的cycle數, 有機會會造成部分特別是台灣廠商的晶片異常)
附帶一提的是, 如果是multi master和非multi master的晶片一起運作, 有機會導致Bus Hang, 這時候你只好用GPIO模式敲到系統有回應為止, 這也是很有趣的除錯經驗
--
不過, 還是那句, 這種大小的晶片, 考慮到封裝的話...
|