[問題] 如何讓Arduino在I2C連續送出Stop Signal?
大家好,小弟最近開始接觸Arduino nano,覺得非常好玩:P
最近遇到一個問題是在對一顆IC做I2C溝通
在使用該IC的某個功能時需要連續送出多組Stop訊號去觸發
Wire.endTransmission ()這個語法如果單獨使用-
會產生一個Start訊號跟9 bit(含Ack)的clock接著才會輸出Stop訊號
這邊想問的是有沒有什麼語法可以只輸出Stop訊號而不輸出其他訊號呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.72.149.73
※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1524218328.A.E8F.html
→
04/20 18:01,
6年前
, 1F
04/20 18:01, 1F
→
04/20 18:02,
6年前
, 2F
04/20 18:02, 2F
→
04/20 18:19,
6年前
, 3F
04/20 18:19, 3F
→
04/20 18:20,
6年前
, 4F
04/20 18:20, 4F
→
04/20 18:23,
6年前
, 5F
04/20 18:23, 5F
→
04/20 18:23,
6年前
, 6F
04/20 18:23, 6F
→
04/20 18:23,
6年前
, 7F
04/20 18:23, 7F
→
04/20 18:32,
6年前
, 8F
04/20 18:32, 8F
→
04/20 18:32,
6年前
, 9F
04/20 18:32, 9F
→
04/20 18:32,
6年前
, 10F
04/20 18:32, 10F
推
04/20 20:41,
6年前
, 11F
04/20 20:41, 11F
→
04/21 05:17,
6年前
, 12F
04/21 05:17, 12F
推
04/23 23:30,
6年前
, 13F
04/23 23:30, 13F
推
04/23 23:34,
6年前
, 14F
04/23 23:34, 14F
感謝大家的回應,目前的做法是用另外兩根IO作為SDA SCL並打出Stop訊號
1. digitalWrite(A3 , LOW); //SCL
2. digitalWrite(A2 , LOW); //SDA
3. digitalWrite(A3 , HIGH);
4. digitalWrite(A2 , HIGH);//stop 1
1 2 3 4 1 2 3 4
連續打出來應該會是這樣: (A3)SCL_______| ̄ ̄↓_____| ̄ ̄↓__
(A2)SDA__________| ̄ ̄↓_____| ̄ ̄↓__
^ ^
Stop Stop
※ 編輯: woody5202001 (42.73.71.147), 04/30/2018 17:54:15
※ 編輯: woody5202001 (42.73.71.147), 04/30/2018 17:56:31
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
ASM 近期熱門文章
PTT數位生活區 即時熱門文章