看板 ASM 關於我們 聯絡資訊
用i2c寫sda和scl 今天用一堆ic要被控制~SCL全部都為同一隻. 但sda會從p0.0~ p2.7 (共24 pin) 又因不變動SDA動作的程式~~ 如 =============================== void main(void) { while(1) { //該如何定義~才可以讓我的pSDA隨我所定義的port動作? I2cStart(); } } void I2cStart(void) { pSDA=1; pSCL=1; I2cWait( ); pSDA=0; I2cWait( ); pSCL=0; I2cWait( ); } ============================ 我想執行pSDA前~是會是我所定義的port腳~請問該如何定義呢?? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.63.7.65
ksmrt0123:用 #define pSDA p1.0 11/08 14:27
WolfLord:他電路的接法用這樣應該不行,他需要的是使用多I2C並聯 11/08 14:30
WolfLord:操控的方式(奇怪,為甚麼不用ADDR跟CS腳?) 11/08 14:30
ksmrt0123:原來是多SDA啊... 那不能用 #define 沒錯... 11/08 14:33
fmdjyl:因為被控制的ic~他的ADDR只有三態選擇~但卻需要60顆IC~ 11/08 14:42
fmdjyl:有試過SBIT和#DEFINE 但卻都不行... 11/08 14:44
WolfLord:是記憶體嗎?可以試看看用CS腳搭配4顆74HC154 11/08 14:54
fmdjyl:不是紀憶體~是亮度感測器~又因為要一顆MCU做多顆~ 11/08 14:59
fmdjyl:所以才想用一隻SCL~多隻SDA做控制~ 11/08 15:00
WolfLord:這樣你的掃描速度會夠嗎? 11/08 15:05
WolfLord:要速度我會跟你一樣的接法,但是程式不是這樣寫的 11/08 15:07
fmdjyl:速度上目前沒有很大要求~1秒內能讀完全部就可以~~ 11/08 15:50
WolfLord:那,還是用DECODER串起來一次讀寫一個比較簡單啦 11/08 15:58