sfd
STM32 и cube IDE изучаем с нуля до мастера за Rand() дней ч. 1 «первые шаги»
Вот я и подобрался к освоению новых для меня микроконтроллеров STM32. Благодаря своей 32-разрядной ARM архитектуре они конечно наголову опережают своих 8-ми битных собратьев, устанавливаемых на популярные...
Инициализация модуля шины данных I2C микроконтроллера STM32 на примере STM32F103
Данная реализация функции осуществляется на основе данных из rm0008 и es096.
Тайминги заданные в примере рассчитаны для режима стандартной скорости (100кГц) при частоте тактирования шины 8МГц. void I2C1_Init (void) {
//1 - Отключите периферийное устройство I2C, очистив бит PE в регистре I2Cx_CR1.
I2C1->CR1 &= ~I2C_CR1_PE; //Отключение модуля
//2 - Настройте входы/выходы SCL и SDA как выходы общего назначения с открытым стоком, высокий уровень (запишите 1 в GPIOx_ODR).
GPIOB->CRL |= GPIO_CRL_MODE6_1 | GPIO_CRL_MODE7_1 | GPIO_CRL_CNF6_0 | GPIO_CRL_CNF7_0; //SCL and SDA - Open-Drain выходы общего назначения, макс...