|
|
![]() ![]() |
|
|
![]() ![]() ![]() ![]() |
|
Опции темы | Поиск в этой теме |
![]() |
![]() ![]() |
Век живи, век учись.
|
![]()
Попробовал получилось, подпаяю провода к програматору и проверю.
__________________
С Уважением Валерий. [Исправлено: AVTOELEKTRIK, 29.03.2015 в 14:52] |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
![]()
Здесь качал тулчейн и студию http://www.mikrocontroller....
В архиве для белого увеличена яркость Mode[5]={30, 115, 0b00001, 0b1000, 0b1001}; Для красного уменьшено время ожидания клика, как было в белом. |
![]() |
![]() ![]() |
Поблагодарили: 1 раз |
AVTOELEKTRIK (30.03.2015)
|
![]() |
![]() ![]() |
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 271 раз(а) в 117 сообщениях
|
![]()
Разбираюсь с общей логикой работы программы, возник вопрос
Переменная Cod= 0 или 1 прописывается в самой программе (например, когда отправляем на m2 и где то еще) или еще какой то внешней подпрограммой, как В? Для чего она нужна? [Исправлено: Alex63, 31.03.2015 в 06:49] |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
![]()
Alex63, читали это? https://forum.fonarevka.ru/...
Cod=1; //перейдем в изменение режима по выходу из прерывания |
![]() |
![]() ![]() |
Поблагодарили: 1 раз |
Alex63 (31.03.2015)
|
![]() |
![]() ![]() |
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 271 раз(а) в 117 сообщениях
|
![]()
Разобрался. Этот код устся в 1 обработчиками прерываний.
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 271 раз(а) в 117 сообщениях
|
![]()
Еще вопрос.
По даташиту из режима Power-down Mode можно выйти не только прерыванием INT0, но в том числе и pin change interrupt Означает ли это, что можно кнопку и подтяжку делителя для проверки питания повесить например на 2 или 3 ногу МК, освободив 6 для управления диодом с ШИМом? |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
|
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 271 раз(а) в 117 сообщениях
|
![]()
ceramic,
в посте 164 вы писали Цитата:
в описании 5 режимов в 2 группах - в исходнике же прописано unsigned char Modes[4]={0,0,4,3}; т е определяется на берегу 4 режима. Вот я и затупил - не понял, почему так? Дальше в программе есть обработка всех 5 режимов - первые два это настраиваемые, потом мун, потом маяк, потом максимум. Это очепятка в исходнике или так нормально? [Исправлено: Alex63, 01.04.2015 в 17:56] |
|
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54
Сообщений: 7998
Сказал(а) спасибо: 934
Поблагодарили: 5203 раз(а) в 2785 сообщениях
|
![]() Цитата:
Достаточно: unsigned char Modes[4]={0,0,4}; -- два первых настраиваемых (вместо нулей можно поставить "начальные" значения) и мунлайт. Максимуму и маяку яркость не задается -- маяк моргает тем, что подключенно к ШИМящей ножке, а максимум -- все что подключено к 3-й ножке (PB4). Максимум можно изменить тут: if (Nmodes==4) PORTB |= 0b10000 ; |
![]() |
![]() ![]() |
Поблагодарили: 1 раз |
Alex63 (01.04.2015)
|
![]() |
![]() ![]() |
|
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 271 раз(а) в 117 сообщениях
|
![]() Цитата:
[Исправлено: Alex63, 01.04.2015 в 19:10] |
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Век живи, век учись.
|
![]()
Добрый вечер. Есть ли предпочтения по тактовым кнопкам?, выпаял кнопку с платы(неизвестно чего) впаял в схему драйвера с прошивкой этой вектки---несколько раз получается переключать и тд, но позже немогу даже по режимам пройти---возможна проблема в плохой тактовой кнопке?.
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
![]() Цитата:
Можно попробовать перешить на более медленный вариант. Или попробовать замыкать двумя проводками, вместо кнопки. |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Век живи, век учись.
|
![]()
Сергей добрый вечер, пробовал проводками вобще опа. Первый раз пробую кнопкой -- получается---кроме входа в термо режим, потом нажимаю переключить режим а (фонарь) вобще выключается.Кнопка щелкает вроде бы не (так)-- закралась мысль о качестве кнопки. В налобнике после сборки думаю будет проблематино переключать режимы и тд. пробовал прошивать прошивкой где клик длинее ----( фонарь) тормозок.
[Исправлено: AVTOELEKTRIK, 01.04.2015 в 20:00] |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
![]()
AVTOELEKTRIK, а если ее на красный?
Там термоконтроль не просто так включить. Я уже объяснял, чтоб всякие олени его не сбрасывали случайно схватив фонарь. |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Век живи, век учись.
|
![]()
Прошивку красного заливал в драйвер для белого работает в схемотехнике драйвера для белого, получалось заходить в индикацию заряда батареи и переключать режимы, новую прошику в драйвер для красного еще не пробовал, получил сегодня красный светодид и термо клей. В ближее время залью прошивку для красного в ак47 и попробую.
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
|
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 271 раз(а) в 117 сообщениях
|
![]() Цитата:
Были глюки с кнопкой на Санвеймене после его купания - 3 раза сработает нормально, потом нет. Припаял провода омметра и честно пощелкал - увидел этот глюк, действительно не работала кнопка. заменил - все ОК. [Исправлено: Alex63, 01.04.2015 в 20:19] |
|
![]() |
![]() ![]() |
Поблагодарили: 1 раз |
AVTOELEKTRIK (01.04.2015)
|
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
![]()
Alex63, алгоритм определения КК, ДК одинаковый везде. И вроде там 16мс было вочдогом реализовано для устранения дребезга контактов.
Попробовать с другой кнопкой, я вобще проводами коротил ![]() |
![]() |
![]() ![]() |
Поблагодарили: 1 раз |
AVTOELEKTRIK (01.04.2015)
|
![]() ![]() |
![]() ![]() |
|
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54
Сообщений: 7998
Сказал(а) спасибо: 934
Поблагодарили: 5203 раз(а) в 2785 сообщениях
|
![]() Цитата:
По порядку: "А вот то, что мод в этом месте описано 4 (Modes[4]) никак не влияет на их реальное количество потом?" Нет, не влияет. Это не кол-во режимов, а их яркость. Если описать больше, чем используется в прошивке -- только немного увеличится код за счет выделения места под переменные, которые просто не будут использоваться. "Это очепятка в исходнике или так нормально?" Предыдущий пост ошибочен надо так: unsigned char Modes[4]={0,0,4,3}; -- два первых настраиваемых (вместо нулей можно поставить "начальные" значения), мунлайт и маяк. Максимуму яркость не задается -- это все, что подключено к 3-й ножке (PB4). Максимум можно изменить тут: if (Nmodes==4) PORTB |= 0b10000 ; В случае "маяк" (Nmodes==3) моргает тем, что подключенно к ШИМящей ножке (как и в трех предыдущих режимах, только с маленькой частотой ШИМ). Сначала задается частота "маяка" if (Nmodes==3) { CLKPR = 0x80; CLKPR = 0x04; TCCR0B = 0b101; } а потом "яркость" : OCR0A = Modes[Nmodes], которую (с учетом низкой частоты ШИМ) здесь уже правильнее называть не яркостью, а длительностью вспышек в режиме "маяк" Возможна. Многие недорогие кнопки чувствительны к перегреву (при пайке) и/или склонны к "всасыванию" флюса в себя. [Исправлено: ceramic, 01.04.2015 в 22:36] |
|
![]() |
![]() ![]() |
Поблагодарили: 2 раз(а) |
Alex63 (02.04.2015), AVTOELEKTRIK (01.04.2015)
|
![]() |
![]() ![]() |
Увлеченный
Регистрация: 16.08.2012 Последняя активность: 19.01.2018 08:37
Сообщений: 475
Сказал(а) спасибо: 44
Поблагодарили: 271 раз(а) в 117 сообщениях
|
![]()
Народ, я что то совсем в затупе по работе удержания в V.4. Там по программе при обработке удержания кнопки
после присвоения Р=4 на 2 шаге WD по идее при всех следующих тактах после проверки на Р=4 должен сразу устанавливаться Cod=1 и без взвода WD программа уходит из обработчика прерывания. А без идеи пока держим кнопку код1 формируется каждые 0,5 сек. Это почему? Где формируется задержка и сам цикл? И второй глупый вопрос - а что запускает WD в цикл измерения напряжения с самого начала? [Исправлено: Alex63, 03.04.2015 в 20:03] |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 28.04.2013 Последняя активность: 08.01.2024 23:25
Сообщений: 3969
Сказал(а) спасибо: 529
Поблагодарили: 921 раз(а) в 628 сообщениях
|
![]()
Если хотите полностью понять, как обрабатывается нажатие - нужно рисовать себе блок схему со стрелочками. Из программы она не очевидна, я с ней тоже долго думал
![]() |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
||
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54
Сообщений: 7998
Сказал(а) спасибо: 934
Поблагодарили: 5203 раз(а) в 2785 сообщениях
|
![]()
Вопрос не вполне понятен. Что такое "взвод WD"?
После присвоения "Р=4" для ватчдога устанавливается интервал срабатывания 0,5 сек. Вот он и срабатывает каждые 0,5 сек -- пока кнопка удерживается, раз в пол секунды выставляется Cod=1. Цитата:
Попробуйте другими словами спросить. Цитата:
Но зато получается очень устойчивая защита от дребезга. [Исправлено: ceramic, 03.04.2015 в 20:44] |
||
![]() |
![]() ![]() |
Поблагодарили: 1 раз |
Alex63 (03.04.2015)
|