小弟現在在做STM32 i2c作為從機模式,想使用arm9做主控板與stm32做從機,通信用I2C,搞的頭大,現有的都是主機模式,一直浏覽各大網站,發現關於STM32 I2C作為從機的例子少之又少,不知道如何下手,請問哪位大神可以指點一下,有代碼例程,感激不盡!!!
1、把從機作為一個I2C器件看待(比如:就把從機當做AT24C512之類的EEPROM看待),從機有自己的I2C地址;
主機就可以用這個地址和從機通信了,主機完全控制從機,主機讀寫從機,從機只能應答;
2、現在首要是要定一個通信協議:做一下需求分析,看主機發起多少條命令,才能向從機拿到需要的信息; 基本方式就是主機發送(從機地址+命令號+參數),從機應答數據;
其實很少見到用CPU之間通信用I2C的,CPU之間通信多見的是RS232,RS485、CAN之類的;
你這個I2C主從機模式,可以參考RS485通信,找找RS485通信協議和源碼做參考,應該很快會解決的。