Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stm32f10x.h"
- int main(void) //pętla główna programu
- {
- GPIO_InitTypeDef gpio; //definicja obiektu gpio będącego konfiguracją portów GPIO
- I2C_InitTypeDef i2c; //definicja obiektu i2c będącego modułem komunikacji I2C
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD, ENABLE); //podłączenie zegara/ taktowanie portów A,B, C, D
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); //uruchomienie zegara dla funkcji alternatywnych linii I/O
- RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE); //uruchomienie zegara dla modułu I2C1
- GPIO_StructInit(&gpio); //domyślna konfiguracja portu
- gpio.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_7; // konfiguracja pinów 6 i 7, czyli linii SCL, SDA
- gpio.GPIO_Mode = GPIO_Mode_AF_OD; // do trybu open-drain
- gpio.GPIO_Speed = GPIO_Speed_50MHz; //ustawienie prędkości linii na 50 [MHz]
- GPIO_Init(GPIOB, &gpio); //inicjalizacja modułu GPIOB, konfiguracja portu B
- I2C_StructInit(&i2c); //domyślna konfiguracja modułu komunikacji I2C
- i2c.I2C_Mode = I2C_Mode_I2C; //ustawienie trybu komunikacji I2C
- i2c.I2C_ClockSpeed = 100000; //ustawienie szybkości komunikacji [100 kHz]
- I2C_Init(I2C1, &i2c); //inicjalizacja modułu INC1
- I2C_Cmd(I2C1, ENABLE); //uruchomienie interfejsu komunikacji I2C
- I2C_GenerateSTART(I2C1, ENABLE);
- while (I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT) != SUCCESS);
- I2C_Send7bitAddress(I2C1, 0xa0, I2C_Direction_Transmitter);
- while (I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED) != SUCCESS);
- I2C_SendData(I2C1, 0x00);
- while (I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTING) != SUCCESS);
- I2C_SendData(I2C1, 0xca);
- while (I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTING) != SUCCESS);
- I2C_SendData(I2C1, 0xfe);
- while (I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTING) != SUCCESS);
- I2C_GenerateSTOP(I2C1, ENABLE);
- while (1)
- ;
- }
Add Comment
Please, Sign In to add comment