Programujeme STM32 - bez knihoven (Ukázka, strana 99)

Page 2

KAPITOLA 11. I2C

11.1.2 11.1.2.1

Funkce periferií I2C1 - vysílání

Všechny následující funkce budou velmi podobné jak funkcím z příkladu komunikací UART a SPI , tak sobě navzájem. Tato funkce je volána programem, když je nutné začít odesílat data, nebo v přerušení, jestliže je třeba poslat další data. Tělo první podmínky není třeba popisovat. Funguje stejně jako u příkladů jiných komunikací. Program druhé podmínky je zajímavější. Je to dáno tím, že I2C1 bude v komunikaci fungovat jako obvod Master. V předposledním řádku je totiž do řídícího registru I2C1 vložena adresa Slave obvodu, se kterým má být navázána komunikace. Dále se do registru zapisuje počet bytů, které budeme chtít v rámci komunikace poslat. Jelikož jsme v inicializaci I2C1 nastavili automatické vytvoření ukončovacího signálu komunikace, bude po odeslání daného počtu bytů komunikace automaticky ukončena. Posledním zápisem do tohoto registru na pozici bitu START se vytvoří startovací signál komunikace, po kterém je okamžitě odeslána adresa Slave obvodu. Poslední příkaz povoluje přerušení při prázdném vysílacím registru.

90 Ukázka elektronické knihy, UID: KOS505583


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.