Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: stm32f405rg6 использование PH0 в роли GPIO
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Reystlin
Доброго времени суток, ув. форумчане
Повесил я кнопку на PH0
настроил вот таким образом:
CODE

GPIO_InitTypeDef dwnBtn;
RCC->CR &= ~(1<<16);//HSEON
GPIO_StructInit(&dwnBtn);
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOH, ENABLE);
dwnBtn.GPIO_Pin = GPIO_Pin_0;
dwnBtn.GPIO_Mode = GPIO_Mode_IN;
dwnBtn.GPIO_Speed = GPIO_Speed_50MHz;
dwnBtn.GPIO_OType = GPIO_OType_PP;
dwnBtn.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_Init(GPIOH, &dwnBtn);


проверяю вот так:
Код
if(GPIO_ReadInputDataBit(GPIOH, GPIO_Pin_0) == 0)


иногда контроллер начинает считать, что кнопка нажата, хотя она таковой не является, а бывает что работает как задумано, кнопка подключена к земле одним концом
в какую сторону копать?
Lmx2315
..про явление - "дребезг контактов" слышали? может оно?
Reystlin
слышал, но это не он.
проблема пр контроллер считает кнопку нажатой даже когда она не является нажатой ни кратковременно ни как-либо по другому
просто запускаю код на исполнение, кнопку не трогаю а условие срабатывает
Огурцов
а схему можно увидеть ?
ViKo
Для начала подвесьте внешний резистор на питание, килоом.
hd44780
RCC->CR &= ~(1<<16);//HSEON

это Вы HSE включили? А внешний кварц есть? Он между прочим, к PH0/PH1 цепляется. И, наверняка, при этом нагло забирает себе эту ногу sm.gif .
Варианта тут 2:
1. Перевесить кнопку куда-нибудь ещё..
2. Забыть про HSE и не пытаться включать его. Работать исключительно от HSI.
Reystlin
to Огурцов, схема проста, нога PH0 от неё дорожка идет к кнопке, другим концом кнопка сидит на земле
to ViKo, нога настроена на подтягивающий резистор к плюсу, попробую ещё внешний повесить
to hd44780 внешнего кварца нет, этим битом я как-раз таки выключил внешний кварц. Удобно было развести кнопку на эту ногу, поэтому туда и повесил.
Огурцов
я почему-то так и подумал: эта схема простая https://music.yandex.ru/album/488692/track/4309269?from=serp
Reystlin
подтяжка внешним резистором спасла ситуацию
спасибо товарищу ViKo
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.