Перейти к содержанию

Вопросы от начинающих по МК


Рекомендуемые сообщения

Я про первое условие.

А не работает у него второе.
В данном случае хоть и будет работать, но так делать не надо, а то привыкнет, и в более сложном коде пойдут тонны ошибок.

Тут не могу не согласиться. Поддерживаю.
Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

  • Ответов
  • Создана
  • Последний ответ

Топ авторов темы

Здравствуйте. Завтра пойду в магазин, чтобы перенести наброски проекта из протеуса в реальность. Как вы наверно помните у меня будет 3 ШИМ канала для управления RGB светодиодной лентой (1,5м) , 2 канала для обычной одноцветной ленты (один канал 3,5 метра зеленой ленты, второй канал 4 5мм светодиода) и канал для управления водяным насосом на 12v 150 мА. В наличии есть контроллер Atmega8 в дип корпусе. Подскажите, какие лучше ключи использовать? Обязательно IRL или IRF транзисторы? Или можно на ШИМ их поставить, а на остальные каналы обычные обратной проводимости биполярные? Как лучше запитать микроконтроллер, чтобы не сжечь его? Нужно ли подавать питание на VACC если в проекте не используется АЦП, но используются ноги на С порту? Питаться все это будет от 12V аккумулятора от ИБП (Или от батареи из 18650 элементов)

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

si4karuk, странный Вы всё-таки человек :)

Неужели из всех вышеперечисленных постов не понятно, что никак ? :)

Плюс Вам был вопрос, на который Вы не ответили. Или любите их только задавать ? :)

Ссылка на комментарий
Поделиться на другие сайты

Здравствуйте. Завтра пойду в магазин, чтобы перенести наброски проекта из протеуса в реальность. Как вы наверно помните у меня будет 3 ШИМ канала для управления RGB светодиодной лентой (1,5м) , 2 канала для обычной одноцветной ленты (один канал 3,5 метра зеленой ленты, второй канал 4 5мм светодиода) и канал для управления водяным насосом на 12v 150 мА. В наличии есть контроллер Atmega8 в дип корпусе. Подскажите, какие лучше ключи использовать? Обязательно IRL или IRF транзисторы? Или можно на ШИМ их поставить, а на остальные каналы обычные обратной проводимости биполярные? Как лучше запитать микроконтроллер, чтобы не сжечь его? Нужно ли подавать питание на VACC если в проекте не используется АЦП, но используются ноги на С порту? Питаться все это будет от 12V аккумулятора от ИБП (Или от батареи из 18650 элементов)

может за вас всю схему разработать?! .... а вообще в поиск по сайту... скажем начать отсюда: http://forum.cxem.net/index.php?showtopic=99351&st=0
Ссылка на комментарий
Поделиться на другие сайты

Значит по поводу сегодняшнего вопроса с проверкой часов. Кста, извиняюсь что не сильно балаболил, не думал что сей вопрос поднимет Вас.

Пришлось смастерить некую функцию

char clock(char th1,char th2,char tm1,char tm2)
{

if ((hour >= th1) & (minute >= tm1))
{
 if ((hour <= th2) & (minute <= tm2))
 {
  return 0;
 }
}
return 1;
}

Вызываю ее так

char as;
 //as = 1;
 as = clock(hour_on_1,hour_off_1,minute_on_1,minute_off_1);
 if(as  == 1)
 {
  as = clock(hour_on_2,hour_off_2,minute_on_2,minute_off_2);
 }
 if(as  == 1)
 {
  as = clock(hour_on_3,hour_off_3,minute_on_3,minute_off_3);
 }
 if(as  == 1)
 {
  as = clock(hour_on_4,hour_off_4,minute_on_4,minute_off_4);
 }
 if (as == 0)
 {
  OUTPUT_ON;
 }
 else
 {
  OUTPUT_OFF;
 }

Вроде заработало. Скажите что не так делаю, ибо ощущение что есть подводные камни...

Ссылка на комментарий
Поделиться на другие сайты

if ((hour >= th1) & (minute >= tm1))

{

Текущее время - 16:30, сравниваемое - 15:20 : Под условие попадаем, всё нормально.

Текущее время - 16:30, сравниваемое - 15:40 : Под условие уже не попали (по минутам не прошли), хотя текущее время осталось больше сравниваемого

:)

Ссылка на комментарий
Поделиться на другие сайты

Что то мне подсказывает, что вы давно уже знаете ответ... И он на столько прост и банален, что не стоит такого серьезного подхода. Я весь день потратил на эту чепуху, в голове сплошной бред jmz6jy6r5.gif хреновый из меня программист...

Думаю, надо перевести в строку с точкой, потом сравнить две строки. Как то там. Как то... :umnik2:

Изменено пользователем si4karuk
Ссылка на комментарий
Поделиться на другие сайты

рано обрадовался я.... В протеусе все работает, прошил в МК, подключил питание - на нужных ножках напряжение не появляется :help: Может кто посмотрит? Делал на основе библиотеки работы с LCD. Там и проект и модель протеуса LCD_VP.rar

Ссылка на комментарий
Поделиться на другие сайты

Что то мне подсказывает, что вы давно уже знаете ответ...
Нутро Вас не подводит :) Я уже с самого первого Вашего сегодняшнего поста всё понял :)

Но я ещё Вам дам помучиться немного... :rolleyes:

Ссылка на комментарий
Поделиться на другие сайты

Кстати, Вы как-то давным-давно уже задавались этим вопросом. Толи в этой теме, толи в теме по видеоурокам, непомню...

Просто сегодня хотелось от Вас услышать нормальные вопросы, которые задаёт человек, собравшийся с мыслями и понимающий что ему нужно.

Я уже много раз говорил, и не только на этом форуме - "Человек, неспособный выразить свою мысль, не имеет её вовсе".

Ссылка на комментарий
Поделиться на другие сайты

"Человек, неспособный выразить свою мысль, не имеет её вовсе".

Я выразил мысль :clapping:. Еще раз повторю,не принципиально...

Мне нужно сравнить текущее время с двумя пороговыми значениями времени. Тоесть

(пороговое) х (текущее) х (пороговое)

Изменено пользователем si4karuk
Ссылка на комментарий
Поделиться на другие сайты

Если надо (a<x<B) это записывается как (a<x)&&(x<B). Или проблема в сравнении?

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Если бы я сравнивал три числа, это не являлось бы проблемой, но у меня шесть чисел

char 1,2,3,4,5,6

1 и 2 это порог включения

3 и 4 это реальное время

5 и 6 это порог откл

и надо типа вот так их сравнить

(1 2) <  (3 4)  < (5 6)

Изменено пользователем si4karuk
Ссылка на комментарий
Поделиться на другие сайты

Роете себе яму. Сделайте подпрограмму которая сравнит пары чисел.

Сначала сравниваете часы, минуты имеет смысл сравнивать только когда часы равны. В одном условии это будет слишком громоздко записывать, поэтому лучше всего конструкция со вложенными условиями. На выходе процедуры получите число -1 если меньше, ноль если равно и +1 если больше.

используя эту подпрограмму, можно уже выстроить главное условие для сравнения. Не надо строить мозголомные конструкции на ровном месте, высока вероятность ошибки и трудно доказать что конструкция будет всегда работать верно.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...