Сб ноя 24, 2018 13:51:31
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //включаем тактирование
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1; //светодиоды D1 b D2
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //обычный выход
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7; //софтварная I2C
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_OD; //?
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_SetBits(GPIOB, GPIO_Pin_6); //высокий уровень
GPIO_ResetBits(GPIOB, GPIO_Pin_6);//низкий уровень
bool r_bit = (GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_7));
Сб ноя 24, 2018 14:00:13
Сб ноя 24, 2018 14:04:13
Сб ноя 24, 2018 14:33:53
GPIO_Mode – задает режим работи пинов. Может принимать следующие значения:
GPIO_Mode_AIN — аналоговый вход;
GPIO_Mode_IN_FLOATING — вход без подтяжки (Float)
GPIO_Mode_IPD — вход с подтяжкой к земле (Pull-down)
GPIO_Mode_IPU — вход с подтяжкой к питанию (Pull-up)
GPIO_Mode_Out_OD — выход с открытым стоком (Open Drain)
GPIO_Mode_Out_PP — выход с двумя состояниями (Push-Pull)
GPIO_Mode_AF_OD — выход с открытым стоком для альтернативных функций (Alternate Function). Используется когда выводы управляются периферией, которая может быть задействована на этом выводе. Например USART, I2C и тому подобное.
GPIO_Mode_AF_PP — то же что и перед этим, но с двумя состояниями.
Сб ноя 24, 2018 14:37:15
Сб ноя 24, 2018 14:39:13
Сб ноя 24, 2018 14:42:12
Сб ноя 24, 2018 14:47:39
Чем нужно заменить GPIO_Mode_AF_OD для варианта с внутренними резисторами подтяжки?
Сб ноя 24, 2018 14:50:45
Сб ноя 24, 2018 14:51:52
В чем разница между открытым стоком и открытым коллектором кроме типа транзистора?DENIS451 писал(а):GPIO_Mode_Out_OD — выход с открытым стоком (Open Drain)
Сб ноя 24, 2018 14:57:49
GPIO_Mode_AF_OD, пуллапы в любом случае внешние, внутренние для i2c не катят...
Сб ноя 24, 2018 15:04:08
GPIOB->BSRR = GPIO_BSRR_BS6;
GPIOB->BSRR = GPIO_BSRR_BR6;
GPIOB->ODR |=GPIO_ODR_ODR6;
GPIOB->ODR &=~GPIO_ODR_ODR6;
bool r_bit=GPIOB->IDR & GPIO_IDR_IDR7 ;
Сб ноя 24, 2018 16:42:29
Пн ноя 26, 2018 23:55:51
Щта?Ничем, на F1 такого режима нет.
Чт окт 20, 2022 02:14:07
Чт окт 20, 2022 13:57:23