Easyelectronics.ru

Электроника для всех
Текущее время: 16 фев 2019, 12:34

Часовой пояс: UTC + 5 часов




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Непонятки с состоянием регистра.
СообщениеДобавлено: 01 апр 2018, 00:59 
Только пришел

Зарегистрирован: 21 ноя 2014, 15:13
Сообщения: 7
Привет. Нужно чтобы при удержании кнопки МК просто болтался в цикле.
Все кнопки подтянуты к + питания. Почему то не выходит из цикла, даже когда отпущены все кнопки, по юарту смотрю что регистр = 0x00. Так же и входит в цикл даже когда регистр = 0. В чем может быть проблема? Спасибо.

Код:
while(~GPIO_ReadInputData(GPIOB) != 0){
   while (UART1_GetFlagStatus(UART1_FLAG_TC) == RESET){}  //Отправка по UART
   UART1_SendData8(~GPIO_ReadInputData(GPIOB));
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Непонятки с состоянием регистра.
СообщениеДобавлено: 01 апр 2018, 01:24 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 5441
Напишите как-то так:

volatile uint8_t test;

test=~GPIO_ReadInputData(GPIOB);
while(test != 0){
test=~GPIO_ReadInputData(GPIOB);
while (UART1_GetFlagStatus(UART1_FLAG_TC) == RESET){} //Отправка по UART
UART1_SendData8(test);
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Непонятки с состоянием регистра.
СообщениеДобавлено: 08 апр 2018, 23:31 
Только пришел

Зарегистрирован: 21 ноя 2014, 15:13
Сообщения: 7
u37 писал(а):
Напишите как-то так:

volatile uint8_t test;

test=~GPIO_ReadInputData(GPIOB);
while(test != 0){
test=~GPIO_ReadInputData(GPIOB);
while (UART1_GetFlagStatus(UART1_FLAG_TC) == RESET){} //Отправка по UART
UART1_SendData8(test);
}


Спасибо. Попробовал - не помогло. Решил переписать, теперь у меня в цикле по очереди опрашиваются кнопки. Но появилась другая проблема - все кнопки подключенные к порту B правильно работают, а кнопка, подключенная к PB0 - не срабатывает. Но в то же время, если запускать через отладчик - всё работает как надо. Никто с таким не сталкивался?
Если что - МК STM8S003K3 на борту отладочной платы stm8svldiscovery.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: Oxford


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB