I want to use I2C Communication between two stm8s208cb MCUs. I use stm8s standard peripharel library. My code: Master: #include "stm8s.h" #define I2C_SPEED 300000 #define OWN_ADDRESS 0xA0 #define SLAVE_ADDRESS 0x30 void delay_delay(unsigned int mul); void main() { CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1); I2C_DeInit(); I2C_Init(I2C_SPEED, 0xA0, I2C_DUTYCYCLE_2, I2C_ACK_CURR, I2C_ADDMODE_7BIT, 16); while (1) { I2C_GenerateSTART(ENABLE); I2C_Send7bitAddress(SLAVE_ADDRESS, I2C_DIRECTION_TX); I2C_SendData(0x61); I2C_GenerateSTOP(ENABLE); delay_delay(500); } } void delay_delay(unsigned int mul) { for(; mul>0; mul--); } #ifdef USE_FULL_ASSERT void assert_failed(uint8_t* file, uint32_t line) { while (1) {} } #endif /*******************************************************************/ Slave: #include "stm8s.h" #include "stm8s_uart3.h" #include "stdio.h" #include "stm8s_i2c.h" #define I2C_SPEED 300000 #define OWN_ADDRESS 0xA0 #define SLAVE_ADDRESS 0x30 void delay_delay(unsigned int mul); void sendstring(char *s) { while(*s){ UART3->DR = (u8) (*s); while ((UART3->SR & (u8) UART3_FLAG_TXE) == RESET); s++; } } void main(void) { CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1); UART3_DeInit(); UART3_Init((uint32_t)9600, UART3_WORDLENGTH_8D, UART3_STOPBITS_1, UART3_PARITY_NO, UART3_MODE_TXRX_ENABLE); I2C_DeInit(); I2C_Init(300000, 0x30, I2C_DUTYCYCLE_2, I2C_ACK_CURR, I2C_ADDMODE_7BIT, 16); char veri_bas[1]; while (1) { I2C_AcknowledgeConfig(DISABLE); uint8_t data = I2C_ReceiveData(); //-datayy oku I2C_AcknowledgeConfig(ENABLE); sprintf(veri_bas ,"%i" ,data); sendstring(veri_bas); delay_delay(500); } } void delay_delay(unsigned int mul) { for(; mul>0; mul--); } #ifdef USE_FULL_ASSERT void assert_failed(uint8_t* file, uint32_t line) { while (1) {} } #endif /***************************************************************************/ It does not work. Help please, I can't find the error. Also: Resistors(4.7K) are okey for I2C Communication. --------------------------------------- Posted through http://www.EmbeddedRelated.com
stm8s208cb I2C Communication
Started by ●February 12, 2016








