Геннадий Опубликовано 7 апреля, 2018 Поделиться Опубликовано 7 апреля, 2018 23 часа назад, Алексей Смокотин сказал: ...Просто не всегда то что непонятно, можно найти в интернете, в каких то уроках... Чтобы списАть, как в школе? А самому додуматься нет желания? 2 минуты назад, Алексей Смокотин сказал: ...хотел убедиться, что других вариантов нет. Есть. Целый "вагон и маленькая тележка". 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Алексей Смокотин Опубликовано 7 апреля, 2018 Поделиться Опубликовано 7 апреля, 2018 1 час назад, Геннадий сказал: А самому додуматься нет желания? А Вы сами до всего додумываетесь? И никогда не пользовались литературой? Не подсматривали в интернете, не спрашивали на форумах, у друзей, знакомых? Если это так, то Вам не здесь надо сидеть, а в каком нибудь институте, ПО для спутников Земли писать. Поэтому я не люблю форумы, потому что реально могут подсказать, объяснить, показать на примере только 50% людей, а остальные только могут умничать, типа Я такой умный, все знаю, а ты, баран, иди книжки читай. И по этому поводу списывать часть кода приходится, потому что толково объяснить как оно работает никто не может... 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
Lexter Опубликовано 7 апреля, 2018 Поделиться Опубликовано 7 апреля, 2018 В 05.04.2018 в 23:55, Алексей Смокотин сказал: Т.е. при выполнении условия "установлена перемычка", после оператора if переписывать опять весь код, за исключением ненужных мне строк? Зачем "переписывать опять весь код"? После IF используйте оператор GOTO на нужное вам место программы. И не слушайте того, кто говорит, что использование оператора GOTO - порочная практика программирования. Они просто не знают, что предлагаемые ими замены после перевода на ассемблер - абсолютно то же самое. 1 час назад, Алексей Смокотин сказал: реально могут подсказать, объяснить, показать на примере только 50% людей, а остальные только могут умничать ... и этот процент всё уменьшается и уменьшается. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>> Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
Alexeyslav Опубликовано 7 апреля, 2018 Поделиться Опубликовано 7 апреля, 2018 И я догадываюсь почему это происходит. Никто не хочет вникать, ждут разжованое и готовое. Но это медвежья услуга. Когда берёте что-то готовое вы всё так же не понимаете как оно работает. А книжки читать по программированию - бестолку, они НЕ НАУЧАТ программировать, только строить типовые конструкции на конкретном языке - т.е. та база которую надо знать ПРЕЖДЕ чем начать программировать. Если вы не понимаете базовые конструкции то учится программировать ещё рано, вечно будете выдегивать код и вставлять без понимания. Развивайте абстрактное мышление - оно даёт ключ к успешному программированию. Начните с блок-схем программ или её частей, потом гораздо легче это превратить в код. А на форуме... лучше искать направление на нужный ответ, а не сами ответы. 0 Учение - изучение правил. Опыт - изучение исключений. Ссылка на комментарий Поделиться на другие сайты Поделиться
Геннадий Опубликовано 8 апреля, 2018 Поделиться Опубликовано 8 апреля, 2018 22 часа назад, Алексей Смокотин сказал: А Вы сами до всего додумываетесь?... ...остальные только могут умничать, типа Я такой умный, все знаю, а ты, баран, иди книжки читай... Именно так. Литературой пользуюсь (еще как). Не подсматриваю, не спрашиваю, не жду готового. Выводы делаю на собственном опыте, а не чужих решениях. Именно поэтому и написАл "вагон и маленькая тележка". Насчет умничать. Где я такое проявлял по отношению к Вам? Покажите. Все остальное - справедливо, читайте книжки... 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Шампунь Опубликовано 9 апреля, 2018 Поделиться Опубликовано 9 апреля, 2018 Уважаемые знатоки, подскажите как организовать питание схемы на 5v от аккумуляторов или батареек. Отдельных аккумуляторов на 5v я не нашел( по крайней мере в зоне ближайшей доступности). Думаю взять 4x1.5V батарейки и понизить стабилизатором L4940V5 до 5V. Интересно, как решают такую проблему более опытные пользователи. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
GOR23 Опубликовано 9 апреля, 2018 Поделиться Опубликовано 9 апреля, 2018 На сколько критично что бы было именно 5 вольт? Что запитывать будете? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Шампунь Опубликовано 9 апреля, 2018 Поделиться Опубликовано 9 апреля, 2018 (изменено) Схему беспроводного термометра. Там датчик температуры lm335, МК PIC16F683 и радиопередатчик XY-MK-5V. У датчика диапазон напряжения достаточно большой, у МК по даташиту 2-5.5V, по радиомодулю не нашел даташита, однако 5V в названии говорит само за себя. В общем то датчик и мк можно спокойно запитать от 4.5V, но придется перерасчитывать значения для АЦП. Ну и я не уверен как 4.5V повлияют на работу радиомодуля. Изменено 9 апреля, 2018 пользователем Шампунь 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
GOR23 Опубликовано 9 апреля, 2018 Поделиться Опубликовано 9 апреля, 2018 На счёт модуля не а курсе тоже. Погуглить нужно. А про АЦП не совсем понял. У вас опорное это напряжение питания?. Нужно ион использовать. В пике внутреннего ИОНа нет разве? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
IMXO Опубликовано 9 апреля, 2018 Поделиться Опубликовано 9 апреля, 2018 2 часа назад, GOR23 сказал: В пике внутреннего ИОНа нет разве? есть, но для модуля компараторов. для АЦП или питание или внешняя опора. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alexeyslav Опубликовано 9 апреля, 2018 Поделиться Опубликовано 9 апреля, 2018 Используй внешнюю опору. Но ИМХО ПИК туда как раз ни к селу ни к городу. При питании от батареек надо стараться понизить потребление тока, иначе схема у вас будет требовать замены батареек каждые 2 недели. у ПИК-а печально с энергосбережением, и применение стабилизатора с батарейным питанием не совместимо - один только стабилизатор будет разряжать батарейку с неприемлемо большой скоростью. Передатчик, если простейший, то работает в широком диапазоне напряжений только мощность будет сильно падать по мере разряда батареи. Кстати ваш стабилизатор L4940V5 на 1.5А, экономией потребления там и не пахнет. Он один только съест батарейку за 41 день. Что касается МК посмотрите какой у него ток потребления в режиме сна. Для здоровья батареек потребляемый ток не должен превышать 1мкА, а лучше порядка 200нА. Такое достичь сложно даже отключая неиспользуемый потребитель полевым транзистором, который даже в отключенном состоянии "течёт" током в 0.5мкА(для силовых полевиков на 1-2А это норма). Для АЦП - без вариантов, использовать внешний ИОН хотябы тот же TL431, подключая его только на время измерения(зачем ему ток потреблять пока он не нужен?) - можно его даже подключить к свободному порту контроллера и подавать "1" за несколько милисекунд перед измерением. 1 Учение - изучение правил. Опыт - изучение исключений. Ссылка на комментарий Поделиться на другие сайты Поделиться
GOR23 Опубликовано 10 апреля, 2018 Поделиться Опубликовано 10 апреля, 2018 Или цифровой датчик температуры прицепить, ту же ds 18b20 питание паразитное. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
RA3DTI Опубликовано 15 апреля, 2018 Поделиться Опубликовано 15 апреля, 2018 В 09.04.2018 в 13:44, Шампунь сказал: как организовать питание схемы на 5v от аккумуляторов или батареек. Отдельных аккумуляторов на 5v я не нашел Неплохие результаты дает DC-DC преобразователь MAX630 или MC34063, только надо позаботиться о фильтрации с помощью дополнительного LC фильтра (на ферритовой "тумбочке"). Платку стабилизатора сделать отдельно и полностью за экранировать фольгой. У меня такой стабилизатор стоит в одном носимом устройстве, очень чувствительном к электрическим помехам, работает без нареканий. Причем батарейки высасывает до суха (0.65v) при хорошем КПД. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Евгений61 Опубликовано 15 апреля, 2018 Поделиться Опубликовано 15 апреля, 2018 (изменено) Всем привет. Подскажите пожалуйста.Имеется мк STM8S. На борту есть 16 битный таймер состоящий из двух регистров счетчика. Так вот как мне взять значение таймера и сравнить его со значением переменной. Брать каждый байт по отдельности или как. Подскажите. И еще такой вопрос. Можно ли скажем из пременной а вычесть значение 120 просто записав так: int a = b - 120? поймет ли это МК? Изменено 15 апреля, 2018 пользователем Евгений61 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Sergey-Ufa Опубликовано 16 апреля, 2018 Поделиться Опубликовано 16 апреля, 2018 (изменено) Не знаю, как в вашем компиляторе, а в компиляторах для AVR 16-битные регистры можно считывать, как одно 16-битное значение типа int. Если это не проходит, то можно сделать так int tcnt=tcntH*0xff+ tcntL; или так int tcnt=tcntH; tcnt=tcnt<<8; tcnt=tcnt+tcntL; Но я обычно использую юнионы. Это практически не занимает место в памяти и не снижает быстродействие. //Объявляем юнион union int_char {char tcnt_char[2]; unsigned int tcnt_int; } TIMER; //присваиваем элементам массива младший и старший байты счетчика таймера TIMER.tcnt_char[0]=tcntL; TIMER.tcnt_char[1]=tcntH; //далее работаем с переменной TIMER.tcnt_int, которая равна 16-битному значению счетчика таймера if(TIMER.tcnt_int > var) {....}; Выражение int a = b-120; вполне корректно. Изменено 16 апреля, 2018 пользователем Sergey-Ufa 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
COKPOWEHEU Опубликовано 16 апреля, 2018 Поделиться Опубликовано 16 апреля, 2018 43 минуты назад, Sergey-Ufa сказал: int tcnt=tcntH*0xff+ tcntL; Только умножать не на 0xFF а на 0x100, конечно. 0 Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз. Часть моих наработок. Ссылка на комментарий Поделиться на другие сайты Поделиться
Евгений61 Опубликовано 16 апреля, 2018 Поделиться Опубликовано 16 апреля, 2018 (изменено) Извините. но че то не понял. У меня есть два восьми битных регистра старший и младший. TIM1_CNTRH и TIM1_CNTRL. раньше я подбирал предделитель так, так что заполнялся только младший регистр и мне этого вполне хватало. Теперь необходимо увеличить точность и нужно заполнять два этих регистра. как мне сравнить знчение счетчика с каким то числом? И вообще можно ли обьеденить два однобайтовых числа в одно двухбайтовое что бы одно было продолжением другого??>? тогда бы можно было присвоить переменным значение каждого регистра и обьединить их 5 часов назад, Sergey-Ufa сказал: Не знаю, как в вашем компиляторе, а в компиляторах для AVR 16-битные регистры можно считывать, как одно 16-битное значение типа int. То есть Вы имеете ввиду записать так TIM1_CNTR - без младшего и старшего? Изменено 16 апреля, 2018 пользователем Евгений61 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
GOR23 Опубликовано 16 апреля, 2018 Поделиться Опубликовано 16 апреля, 2018 (изменено) Так написали ж вам вариант с юнионом, и без юниона. Ещё раз: uint16_t timerTicks = TIM1_CNTR_VAL; TIM1_CNTRL = (uint8_t)timerTicks; TIM1_CNTRH = (uint8_t)(timerTicks>>8); Изменено 16 апреля, 2018 пользователем GOR23 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Евгений61 Опубликовано 16 апреля, 2018 Поделиться Опубликовано 16 апреля, 2018 6 часов назад, Sergey-Ufa сказал: Не знаю, как в вашем компиляторе Пользуюсь IAR WB 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Евгений61 Опубликовано 16 апреля, 2018 Поделиться Опубликовано 16 апреля, 2018 (изменено) А в 8-ми битном мк переменная int сколько будет занимать? Изменено 16 апреля, 2018 пользователем Евгений61 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
GOR23 Опубликовано 16 апреля, 2018 Поделиться Опубликовано 16 апреля, 2018 Гугл поломался что ли? 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alex Опубликовано 16 апреля, 2018 Поделиться Опубликовано 16 апреля, 2018 9 часов назад, Евгений61 сказал: А в 8-ми битном мк переменная int сколько будет занимать? В МК вообще нет переменных. Переменная - объект компилятора. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
my504 Опубликовано 21 апреля, 2018 Поделиться Опубликовано 21 апреля, 2018 В 16.04.2018 в 16:41, Евгений61 сказал: А в 8-ми битном мк переменная int сколько будет занимать? Во всех известных мне компиляторах - 2 байта. А вообще полезно перейти на специально заданные типы (u)int[x]_t (int16_t, uint8_t) 0 戦う前に相手のベルトの色に注目 Ссылка на комментарий Поделиться на другие сайты Поделиться
Alex Опубликовано 22 апреля, 2018 Поделиться Опубликовано 22 апреля, 2018 Вообще, зависит от платформы. В компиляторах для 32-ух битных платформ, размер int = 32 бита. Лучше всего использовать типы short (16 бит), long (32 бита), ... . У них длина гарантирована. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
mail_robot Опубликовано 22 апреля, 2018 Поделиться Опубликовано 22 апреля, 2018 (изменено) а не правильнее будет использовать нечто типа int8_t например, если точно знаешь, что пишешь для встроенной системы? Ну и мне казалось что в новых стандартах С это даже рекомендовано, вместо всяких short long и very very long unsigned float )) Изменено 22 апреля, 2018 пользователем mail_robot 0 Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.