→ woody5202001: 我本身有嘗試過DigitalWrite(SDA,HIGH)但無效Orz 04/20 18:01
→ woody5202001: 不知道是不是因為Wire.H裡將這兩根Pin鎖死... 04/20 18:02
→ cs8425: 為何要單獨的stop訊號? idle狀態是不可能傳"單獨的stop" 04/20 18:19
→ cs8425: 再讀一下I2C是怎運作的吧...感覺你有搞錯那顆IC的用法 04/20 18:20
→ cs8425: idle狀態: SCL=H, SDA=H 04/20 18:23
→ cs8425: stop: SCL=H, SDA=L >> H 04/20 18:23
→ cs8425: start: SCL=H, SDA=H >> L 04/20 18:23
→ woody5202001: 因為這顆IC要進Trim mode的方式是要連打10個stop並 04/20 18:32
→ woody5202001: 給出start [id] [address] [data1] []data2] 對ic本 04/20 18:32
→ woody5202001: 身的電壓基準值做調整 所以狀況看起來才會很怪 04/20 18:32
推 m490521: 直接用io去模擬i2c stop? 04/20 20:41
→ doubletime: 同cs大的說法,無法連續打出stop 訊號 04/21 05:17
推 Anal: 同cs大說法。不可能打出連續的stop 04/23 23:30
推 god145145: 哪顆IC? 04/23 23:34
感謝大家的回應,目前的做法是用另外兩根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