一个单片机,要连接一个外设,这个时候单片机是主机模式。
然后在调试的时候,单片机也要能通过I2C先连接一个转换的,转成usb再连接电脑,用专门的软件读写,这时候电脑是主机,单片机变从机模式了吧。为什么非要用I2C,可能是因为产品太小了,反正就是这样,我也很无语啊。
不知道我理解的对不对,那么如何实现这个呢?怎么写代码让单片机知道判断该进入主机模式还是从机模式?
好像没有切换吧。对于I2C接口来说,单片机一直是主。接上USB后,在USB接口上,单片机是丛机,但这并不影响I2C接口的主从关系。
不用切换,单片机与外设的通信是通过I2C进行的,这时候单片机作为master,外设作为slave。但电脑与单片机不是通过I2C进行通信的,一般来说,电脑要想控制I2C的行为,只需要配置相应的寄存器就可以。