小弟现在在做STM32 i2c作为从机模式,想使用arm9做主控板与stm32做从机,通信用I2C,搞的头大,现有的都是主机模式,一直浏览各大网站,发现关于STM32 I2C作为从机的例子少之又少,不知道如何下手,请问哪位大神可以指点一下,有代码例程,感激不尽!!!
1、把从机作为一个I2C器件看待(比如:就把从机当做AT24C512之类的EEPROM看待),从机有自己的I2C地址;
主机就可以用这个地址和从机通信了,主机完全控制从机,主机读写从机,从机只能应答;
2、现在首要是要定一个通信协议:做一下需求分析,看主机发起多少条命令,才能向从机拿到需要的信息; 基本方式就是主机发送(从机地址+命令号+参数),从机应答数据;
其实很少见到用CPU之间通信用I2C的,CPU之间通信多见的是RS232,RS485、CAN之类的;
你这个I2C主从机模式,可以参考RS485通信,找找RS485通信协议和源码做参考,应该很快会解决的。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。