реклама на сайте
подробности

 
 
> stm32f405rg6 использование PH0 в роли GPIO
Reystlin
сообщение Apr 2 2016, 22:07
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 67
Регистрация: 6-09-15
Пользователь №: 88 307



Доброго времени суток, ув. форумчане
Повесил я кнопку на 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)


иногда контроллер начинает считать, что кнопка нажата, хотя она таковой не является, а бывает что работает как задумано, кнопка подключена к земле одним концом
в какую сторону копать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
hd44780
сообщение Apr 3 2016, 10:58
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 202
Регистрация: 26-08-05
Из: Донецк, ДНР
Пользователь №: 7 980



RCC->CR &= ~(1<<16);//HSEON

это Вы HSE включили? А внешний кварц есть? Он между прочим, к PH0/PH1 цепляется. И, наверняка, при этом нагло забирает себе эту ногу sm.gif .
Варианта тут 2:
1. Перевесить кнопку куда-нибудь ещё..
2. Забыть про HSE и не пытаться включать его. Работать исключительно от HSI.


--------------------
Чтобы возить такого пассажира, необходим лимузин другого класса.
(с) Мария Эдуарда
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 08:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01354 секунд с 7
ELECTRONIX ©2004-2016