Easyelectronics.ru

Электроника для всех
Текущее время: 23 сен 2019, 05:55

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



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 64 ]  На страницу Пред.  1, 2, 3
Автор Сообщение
 Заголовок сообщения: Re: Включение - выключение светодиода по нажатию кнопки помогите
СообщениеДобавлено: 27 авг 2019, 08:11 
Заглядывает иногда

Зарегистрирован: 03 фев 2019, 06:33
Сообщения: 40
кнопки прошлый век,энкодер с кнопкой....
Любое меню можно сбацать последовательно вводишь значения с потверждением на нажатие энкодера вешаешь на прерывание(но нужно от помехи ставить кондер и резистор).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Включение - выключение светодиода по нажатию кнопки помогите
СообщениеДобавлено: 27 авг 2019, 09:15 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 3619
Энкодер - прошлый век. Голосовой ввод, или хотябы экранная сенсорная клавиатура... :)))
Самый муторный способ ввода чисел и букв - это именно энкодер с кнопкой. Навигация по меню - еще куда ни шло, но ввод значений - хуже не придумать. Да он еще и торчит над панелью. В общем, хуже энкодера сложно придумать.


Последний раз редактировалось BusMaster 27 авг 2019, 09:19, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Включение - выключение светодиода по нажатию кнопки помогите
СообщениеДобавлено: 27 авг 2019, 09:16 
Старожил
Аватара пользователя

Зарегистрирован: 13 янв 2018, 21:36
Сообщения: 942
Немного облагорожу алгоритм void1509
Код:
//Назначим ноги и сконфигурируем их режимы работы
using green_led= PD_15;
using blue_led = PD_14;
using button1  = PA_0;
using button2  = PA_1;

using pinsmode = ConfigList<PinMode::PushPull_LowSpeed<0>, green_led, blue_led,
                            PinMode::Input_Floating, button1, button2>;

//Дальше пошёл аппаратнонезависимый код

enum class KeyState{pressed=1, released=0};

template<typename Button>
void key_switch(void (*key_func)(KeyState)) {
    static auto denois = 0, sw = 0;
    if (!denois) {
      if (sw ^ Button::read()) {
        sw ^= 1; denois = 500;
        key_func(KeyState(sw));       
      }
    } else denois--;
}

template<typename Led>
void key_func(KeyState key) {
 
  if(key==KeyState::pressed) Led::toggle();
}

int main()

  pinsmode::mode();

  for(;;)
  {
    key_switch<button1>(key_func<green_led>);   
    key_switch<button2>(key_func<blue_led>);
  }
}


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Включение - выключение светодиода по нажатию кнопки помогите
СообщениеДобавлено: 27 авг 2019, 11:03 
Заглядывает иногда

Зарегистрирован: 03 фев 2019, 06:33
Сообщения: 40
BusMaster писал(а):
Энкодер - прошлый век. Голосовой ввод, или хотябы экранная сенсорная клавиатура... :)))
Самый муторный способ ввода чисел и букв - это именно энкодер с кнопкой. Навигация по меню - еще куда ни шло, но ввод значений - хуже не придумать. Да он еще и торчит над панелью. В общем, хуже энкодера сложно придумать.

Вон там ниже.. ёпт. "50 оттенков работы с кнопками". Ебануцца, Игорь(С). Ёбаные волки, да сколько можно мусолить эти ёбаные кнопки? Яхуею, дальше кнопок никто не двигается.


Ну да сенсор с hmi интересная вещь http://mcu.goodboard.ru/viewtopic.php?id=157
Проще нет вводить цифры крутя энкодер,если это не миллион....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Включение - выключение светодиода по нажатию кнопки помогите
СообщениеДобавлено: 27 авг 2019, 13:29 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 3619
У вас цифровой осциллограф есть? Во многих недорогих моделях стоит энкодер - попробуйте им вводить имена каналов, файлов, цифры параметров - задолбоетесь, честно скажу. И если энкодер не оптический, он ещё и изнпшиваться будет


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Включение - выключение светодиода по нажатию кнопки помогите
СообщениеДобавлено: 28 авг 2019, 18:02 
Только пришел

Зарегистрирован: 19 авг 2019, 13:25
Сообщения: 11
Вот выкладываю код, который заработал, наверное написан не грамотно и можно эту задачу решить по другому, но это позже, я только две недели назад начал пробовать писать на С. Спасибо за ответы на мою тему.


Вложения:
2019-08-28_12-19-01.png
2019-08-28_12-19-01.png [ 120.86 Кб | Просмотров: 219 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Включение - выключение светодиода по нажатию кнопки помогите
СообщениеДобавлено: 28 авг 2019, 19:20 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 3619
Наши поздравления!! Вы смогли сделать это.
Ну, Славка, а теперь давай, разбирай z%2, приводи доводы за и против :)))))
Я ж сто рас писал - дело не в языке программирования, и даже в общем то не в коде. Дело - в алгоритме. А его можно нарисовать и на бумажке карандашом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Включение - выключение светодиода по нажатию кнопки помогите
СообщениеДобавлено: 28 авг 2019, 20:32 
Старожил
Аватара пользователя

Зарегистрирован: 13 янв 2018, 21:36
Сообщения: 942
z%2 то тебе чем не угодил? :)
Код:
  uint32_t z = GPIOA->IDR;
  if(z%2)  GPIOB->BSRR = 1; else GPIOB->BRR = 1;
Ты вроде хвалился знанием асма?
Код:
//  uint32_t z = GPIOA->IDR;
        LDR.N    R0,??DataTable3_4  ;; 0x48000010
        LDR      R1,[R0, #+0]
//  if(z%2)  GPIOB->BSRR = 1; else GPIOB->BRR = 1;
        LSLS     R1,R1,#+31
        ITTEE    MI
        MOVMI    R2,#+1
        STRMI    R2,[R0, #+1032]
        MOVPL    R1,#+1
        STRPL    R1,[R0, #+1048]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Включение - выключение светодиода по нажатию кнопки помогите
СообщениеДобавлено: 28 авг 2019, 20:51 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 3619
но зачем???? Я не про число ассемблерных строчек вопрошал вовсе. Дело не в языке, дело даже не в коде. Дело - в алгоритме, а он рисуецца на бумашке. Вот сейчас кто-нить, просто попробуйте зарисовать алгоритмически на бумажке то, что написано текстом в коде.
Ну и исчо раз: не научившись логично писать, переходом на другой язык ничего не исправишь. И если ты, Славка, не видишь алгоритма в написанном и не можешь его оценить - то черт возьми, как ты можешь вообще что-то писать? Да вот так и пишешь - "хуяк-хуяк-готово".
Кстати, расскажи-ка нам построчно, что ты тут за ассемблерную портянку выложил. Понимаешь ли что там написано, или просто на кол-во строчек смотришь? Вот стопудово - просто считаешь количество строчек. Я даже и не сомневаюсь :))))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Включение - выключение светодиода по нажатию кнопки помогите
СообщениеДобавлено: 28 авг 2019, 21:30 
Старожил
Аватара пользователя

Зарегистрирован: 13 янв 2018, 21:36
Сообщения: 942
Так чем тебе z%2 не угодил? А то буков много пишешь, а конкретики ноль целых хрен десятых.

Если я показываю листинг, то значит там есть на что посмотреть. Если ты его не понимаешь, то что я могу поделать...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Включение - выключение светодиода по нажатию кнопки помогите
СообщениеДобавлено: 28 авг 2019, 21:58 
Старожил

Зарегистрирован: 06 июн 2018, 22:30
Сообщения: 415
Откуда: Киев
Хули там городить алгоритмы я просто читаю по таймеру, вот то что прочитал то и есть результат состояния на кнопке, все ж просто.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Включение - выключение светодиода по нажатию кнопки помогите
СообщениеДобавлено: 28 авг 2019, 22:45 
Старожил
Аватара пользователя

Зарегистрирован: 22 июл 2017, 11:48
Сообщения: 3619
Если ты показываешь листинг, значит, ты так ничего и не понял :))) Я же говорю - смотри не листинг z%2, смотри алгоритм! Да забудь про ассемблер, ты его все равно не знаешь. Вот ты как не умел писать логически, так и не научился.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Включение - выключение светодиода по нажатию кнопки помогите
СообщениеДобавлено: 28 авг 2019, 23:04 
Старожил
Аватара пользователя

Зарегистрирован: 13 янв 2018, 21:36
Сообщения: 942
MasterElectric писал(а):
Хули там городить алгоритмы я просто читаю по таймеру, вот то что прочитал то и есть результат состояния на кнопке, все ж просто.
Это было предложено ещё на первой странице, тут не ищут лёгких путей. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Включение - выключение светодиода по нажатию кнопки помогите
СообщениеДобавлено: 29 авг 2019, 09:05 
Старожил
Аватара пользователя

Зарегистрирован: 12 июн 2018, 15:04
Сообщения: 350
BusMaster писал(а):
"хуяк-хуяк-готово"

Простите, не удержался чтоб не запостить картинку: )))


Вложения:
vovka.jpg
vovka.jpg [ 67.35 Кб | Просмотров: 147 ]
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 64 ]  На страницу Пред.  1, 2, 3

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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

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