最近在练习在 stm32f discovery 和 arduino 做 I2C 沟通
1. stm32 部分的 code 为 http://codepad.org/YixZzNv3
2. arduino 的 code 为 http://codepad.org/rtpBBUh3
程式码都是从网络上抓来修改
碰到奇怪的问题是, 在 stm32 中
while(1){
I2C_start(I2C1, SLAVE_ADDRESS<<1, I2C_Direction_Transmitter); // start a transmission in Master transmitter mode
I2C_write(I2C1, 0x20); // write one byte to the slave
//I2C_write(I2C1, 0x03); // write another byte to the slave
I2C_stop(I2C1); // stop the transmission
//printf("data\n");
}
如果加一个 printf("data\n") , arduino 那边就会收到讯息
mark掉就不会收到, 我在想是不是 timing 的问题?
只是我尝试修改 clock 的设定, 似乎结果都一样
请问问题出在哪?
谢谢