Форум РадиоКот • Просмотр темы - Как настроить выходы на STM32F103C6T6 открытым коллектором?
Сообщения без ответов | Активные темы
Страница 1 из 1
[ Сообщений: 16 ]
Автор
Сообщение
DENIS451
Заголовок сообщения: Как настроить выходы на STM32F103C6T6 открытым коллектором?
Добавлено: Сб ноя 24, 2018 13:51:31
Карма: -3
Рейтинг сообщений: -3
Зарегистрирован: Вт сен 09, 2008 18:17:27Сообщений: 213
Рейтинг сообщения: 0
Как настроить выходы PB6 и PB7 на STM32F103C6T6 в режим открытого коллектора (к земле) с подтяжкой внешними
резисторами к + питания ?
Так правильно?:
настройка:
Код:
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));
Чем нужно заменить GPIO_Mode_AF_OD для варианта с внутренними резисторами подтяжки?
Вернуться наверх
Реклама
xVekx
Заголовок сообщения: Re: Как настроить выходы на STM32F103C6T6 открытым коллектор
Добавлено: Сб ноя 24, 2018 14:00:13
Зарегистрирован: Вс мар 01, 2009 20:41:19Сообщений: 125
Рейтинг сообщения: 0
GPIO_NOPULL , GPIO_MODE_OUTPUT_OD ?
Вернуться наверх
Реклама
Reflector
Заголовок сообщения: Re: Как настроить выходы на STM32F103C6T6 открытым коллектор
Добавлено: Сб ноя 24, 2018 14:04:13
Поставщик валерьянки для Кота
Карма: 20
Рейтинг сообщений: 256
Зарегистрирован: Вс июн 19, 2016 09:32:03Сообщений: 2089
Рейтинг сообщения: 0
Чем нужно заменить GPIO_Mode_AF_OD для варианта с внутренними резисторами подтяжки?
Ничем, на F1 такого режима нет.
Вернуться наверх
DENIS451
Заголовок сообщения: Re: Как настроить выходы на STM32F103C6T6 открытым коллектор
Добавлено: Сб ноя 24, 2018 14:33:53
Карма: -3
Рейтинг сообщений: -3
Зарегистрирован: Вт сен 09, 2008 18:17:27Сообщений: 213
Рейтинг сообщения: 0
Я пока использую STM32F10x_StdPeriph_Lib_V3.5.0 по моему могут быть только такие варианты (или ещё какие?):
Цитата:
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 — то же что и перед этим, но с двумя состояниями.
Нужно выбрать из этого.
Вернуться наверх
Реклама
AlanDrakes
Заголовок сообщения: Re: Как настроить выходы на STM32F103C6T6 открытым коллектор
Добавлено: Сб ноя 24, 2018 14:37:15
Прорезались зубы
Карма: 5
Рейтинг сообщений: 30
Зарегистрирован: Пн июл 04, 2016 16:51:22Сообщений: 234Откуда: Россия, Омск
Рейтинг сообщения: 0
Чем нужно заменить GPIO_Mode_AF_OD для варианта с внутренними резисторами подтяжки?
Ничем, на F1 такого режима нет.
Щта?
Вот сейчас открыл Reference Manual на STM32F103.
А там вот:
Вложение:
Буфер обмена01.jpg [133.94 KiB]
Скачиваний: 293
> In output mode (MODE[1:0] > 00):
00: General purpose output push-pull
01: General purpose output Open-drain <-
10: Alternate function output Push-pull
11: Alternate function output Open-drain <-
MODEy[1:0]: Port x mode bits (y= 0 .. 7)
These bits are written by software to configure the corresponding I/O port.
Refer to Table 20: Port bit configuration table.
00: Input mode (reset state)
01: Output mode, max speed 10 MHz.
10: Output mode, max speed 2 MHz.
11: Output mode, max speed 50 MHz.
Получаем:
[1101] -> 0x0D = GPIO Open-Drain 50MHz
[1111] -> 0x0F = GPIO Alternate Open-Drain 50MHz
Вернуться наверх
Реклама
Reflector
Заголовок сообщения: Re: Как настроить выходы на STM32F103C6T6 открытым коллектор
Добавлено: Сб ноя 24, 2018 14:39:13
Поставщик валерьянки для Кота
Карма: 20
Рейтинг сообщений: 256
Зарегистрирован: Вс июн 19, 2016 09:32:03Сообщений: 2089
Рейтинг сообщения: 0
Получаем: [1101] -> 0x0D = GPIO Open-Drain 50MHz [1111] -> 0x0F = GPIO Alternate Open-Drain 50MHz
Встроенные подтяжки где?
Вернуться наверх
Реклама
dosikus
Заголовок сообщения: Re: Как настроить выходы на STM32F103C6T6 открытым коллектор
Добавлено: Сб ноя 24, 2018 14:42:12
Друг Кота
Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01Сообщений: 3604
Рейтинг сообщения: 0
GPIO_Mode_AF_OD , пуллапы в любом случае внешние, внутренние для i2c не катят...
Вернуться наверх
DENIS451
Заголовок сообщения: Re: Как настроить выходы на STM32F103C6T6 открытым коллектор
Добавлено: Сб ноя 24, 2018 14:47:39
Карма: -3
Рейтинг сообщений: -3
Зарегистрирован: Вт сен 09, 2008 18:17:27Сообщений: 213
Рейтинг сообщения: 0
Цитата:
Чем нужно заменить GPIO_Mode_AF_OD для варианта с внутренними резисторами подтяжки?
Это не для работы с шиной I2C это я просто для общего развития спрашиваю.
Вернуться наверх
dosikus
Заголовок сообщения: Re: Как настроить выходы на STM32F103C6T6 открытым коллектор
Добавлено: Сб ноя 24, 2018 14:50:45
Друг Кота
Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01Сообщений: 3604
Рейтинг сообщения: 0
DENIS451 , без разницы , внутренние пуллапы только для кнопок и энкодера годятся даже если они присутствуют...
Вернуться наверх
Реклама
Мурик
Заголовок сообщения: Re: Как настроить выходы на STM32F103C6T6 открытым коллектор
Добавлено: Сб ноя 24, 2018 14:51:52
Друг Кота
Карма: 1
Рейтинг сообщений: 179
Зарегистрирован: Пн окт 11, 2010 19:00:08Сообщений: 3382
Рейтинг сообщения: 0
DENIS451 писал(а):
GPIO_Mode_Out_OD — выход с открытым стоком (Open Drain)
В чем разница между открытым стоком и открытым коллектором кроме типа транзистора?
Вернуться наверх
DENIS451
Заголовок сообщения: Re: Как настроить выходы на STM32F103C6T6 открытым коллектор
Добавлено: Сб ноя 24, 2018 14:57:49
Карма: -3
Рейтинг сообщений: -3
Зарегистрирован: Вт сен 09, 2008 18:17:27Сообщений: 213
Рейтинг сообщения: 0
"Открытый коллектор" это я по привычке написал, я знаю что там на самом деле полевые транзисторы.
Добавлено after 4 minutes 18 seconds: Re: Как настроить выходы на STM32F103C6T6 открытым коллектором? Цитата:
GPIO_Mode_AF_OD, пуллапы в любом случае внешние, внутренние для i2c не катят...
Ок, а код для посылки битов и считывания правильный?
Провильная ли вообще последовательность кода, я ведь на порту B ещё обычные выходы для светодиодов включаю,
с другими настройками?
Вернуться наверх
dosikus
Заголовок сообщения: Re: Как настроить выходы на STM32F103C6T6 открытым коллектор
Добавлено: Сб ноя 24, 2018 15:04:08
Друг Кота
Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01Сообщений: 3604
Рейтинг сообщения: 1
Код:
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 ;
хоть bool и редкость ...
Вернуться наверх
DENIS451
Заголовок сообщения: Re: Как настроить выходы на STM32F103C6T6 открытым коллектор
Добавлено: Сб ноя 24, 2018 16:42:29
Карма: -3
Рейтинг сообщений: -3
Зарегистрирован: Вт сен 09, 2008 18:17:27Сообщений: 213
Рейтинг сообщения: 0
Вернуться наверх
Balabay
Заголовок сообщения: Re: Как настроить выходы на STM32F103C6T6 открытым коллектор
Добавлено: Пн ноя 26, 2018 23:55:51
Зарегистрирован: Пн сен 26, 2016 15:29:37Сообщений: 2
Рейтинг сообщения: 0
Цитата:
Ничем, на F1 такого режима нет.
Щта?
Вот сейчас открыл Reference Manual на STM32F103.
А там вот:
Вложение:
Вложение Буфер%20обмена01.jpg больше недоступно.
В F103 нет, сам столкнулся при переносе кода с F303. Паяйте резистор.
Вложение:
output GPIO.png [98.33 KiB]
Скачиваний: 614
Вернуться наверх
MikhailBMW
Заголовок сообщения: Re: Как настроить выходы на STM32F103C6T6 открытым коллектор
Добавлено: Чт окт 20, 2022 02:14:07
Зарегистрирован: Ср авг 05, 2020 23:40:20Сообщений: 4
Рейтинг сообщения: 0
по поводу этого чипа с алика: запустить I2C1 на выходы по умолчанию В6 и В7 невышло. цель была прикрутить LCD1602 с расширением PCF8574 i2c. пробовал на такой же МК с другой покупки - таже песня. Потом этот же проект (с поправками на чип) залил в C8T6, и все работает. в итоге: помогло переназначить I2C на выводы В8 и В9. иначе никак. может кому пригодится...
Вернуться наверх
Eddy_Em
Заголовок сообщения: Re: Как настроить выходы на STM32F103C6T6 открытым коллектор
Добавлено: Чт окт 20, 2022 13:57:23
Собутыльник Кота
Карма: -12
Рейтинг сообщений: -24
Зарегистрирован: Пт июл 12, 2019 22:52:01Сообщений: 2516
Рейтинг сообщения: 0
MikhailBMW , в смысле "не вышло"? Там же по умолчанию I2C1! Никакого ремапа делать не нужно. Может, ноги повреждены? Либо это - не C6T6.
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.Я на гитхабе , в ЖЖ
Вернуться наверх
Страница 1 из 1
[ Сообщений: 16 ]
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения