[問題] arduino i2c slave bit-banging實作

看板ASM (組合語言)作者 (嘎了給給)時間5年前 (2019/04/18 17:37), 編輯推噓2(202)
留言4則, 3人參與, 5年前最新討論串1/1
如題,最近在摸i2c 想嘗試用bit-banging的方式做而不靠現有函示 Master較簡單,但目前slave卡關中 我的做法是利用attachinterrupt,一旦SDA falling edge就觸發i2c函式去讀資料 因為擔心被中斷,一進i2c函式就關掉中斷(cli();)最後再開啟(sei();) 目前問題是讀SCL或SDA不曉得為何讀到的都是high 我設pin 2 3 input pull-up直接兩塊uno對接 附上讀地址的code希望高手們能給點建議 https://i.imgur.com/PUdLcBT.png
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.230.53.90 ※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1555580264.A.090.html

04/18 22:50, 5年前 , 1F
slave應該不用delay吧
04/18 22:50, 1F

04/18 22:53, 5年前 , 2F
改用抓準位變化的方法
04/18 22:53, 2F

04/19 17:55, 5年前 , 3F
再問個arduino要如何設pin為open drain?
04/19 17:55, 3F

04/20 20:04, 5年前 , 4F
只能Input←→Output Low模擬O.D吧
04/20 20:04, 4F
文章代碼(AID): #1Sk4Le2G (ASM)
文章代碼(AID): #1Sk4Le2G (ASM)