Re: [問題] 如何讓Arduino在I2C連續送出Stop Signal?
※ 引述《woody5202001 (狗爺)》之銘言:
小弟想法, 如果有錯還是不妥還請指正
: 大家好,小弟最近開始接觸Arduino nano,覺得非常好玩:P
: 最近遇到一個問題是在對一顆IC做I2C溝通
: 在使用該IC的某個功能時需要連續送出多組Stop訊號去觸發
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
這部分如同前輩說的只能用 IO, 小弟認知的原因是
他是單純要給訊號觸發, 若你今天是用 Wire.endTransmission ()
https://www.arduino.cc/en/Reference/WireEndTransmission
在某些時候 SDA pin 會試設成 input( 高祖抗 ), 故無法使用
, 如果是小弟會把這波型兜成一個 function 比如叫 wakeup()
: Wire.endTransmission ()這個語法如果單獨使用-
: 會產生一個Start訊號跟9 bit(含Ack)的clock接著才會輸出Stop訊號
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
一般單晶片的通訊模組整個傳輸都是兜在一起的, 除非適用 gpio 自己寫波形
: 這邊想問的是有沒有什麼語法可以只輸出Stop訊號而不輸出其他訊號呢?
所以 ic 的 initial 可以大概寫成
init_IC_model()
{
wakeup();
init_i2c(); // gpio set up i2c
i2c_write();// 設 ic reg
.....
}
以上給您參考
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.77.103.97
※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1524669377.A.30F.html
推
04/30 17:57,
6年前
, 1F
04/30 17:57, 1F
→
04/30 17:58,
6年前
, 2F
04/30 17:58, 2F
→
05/01 00:39,
6年前
, 3F
05/01 00:39, 3F
→
05/01 00:40,
6年前
, 4F
05/01 00:40, 4F
→
05/01 21:08,
6年前
, 5F
05/01 21:08, 5F
→
05/01 21:09,
6年前
, 6F
05/01 21:09, 6F
→
05/01 21:11,
6年前
, 7F
05/01 21:11, 7F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
ASM 近期熱門文章
PTT數位生活區 即時熱門文章