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

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


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

23 часа назад, Алексей Смокотин сказал:

...Просто не всегда то что непонятно, можно найти в интернете, в каких то уроках...

Чтобы списАть, как в школе? А самому додуматься нет желания?

2 минуты назад, Алексей Смокотин сказал:

...хотел убедиться, что других вариантов нет.

Есть. Целый "вагон и маленькая тележка".

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

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

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

1 час назад, Геннадий сказал:

А самому додуматься нет желания?

А Вы сами до всего додумываетесь? И никогда не пользовались литературой? Не подсматривали в интернете, не спрашивали на форумах, у друзей, знакомых? Если это так, то Вам не здесь надо сидеть, а в каком нибудь институте, ПО для спутников Земли писать. Поэтому я не люблю форумы, потому что реально могут подсказать, объяснить, показать на примере только 50% людей, а остальные только могут умничать, типа Я такой умный, все знаю, а ты, баран, иди книжки читай. И по этому поводу списывать часть кода приходится, потому что толково объяснить как оно работает никто не может...

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

В 05.04.2018 в 23:55, Алексей Смокотин сказал:

Т.е. при выполнении условия "установлена перемычка", после оператора if переписывать опять весь код, за исключением ненужных мне строк?

Зачем "переписывать опять весь код"? После IF используйте оператор GOTO на нужное вам место программы. И не слушайте того, кто говорит, что использование оператора GOTO - порочная практика программирования. Они просто не знают, что предлагаемые ими замены после перевода на ассемблер - абсолютно то же самое.

1 час назад, Алексей Смокотин сказал:

реально могут подсказать, объяснить, показать на примере только 50% людей, а остальные только могут умничать

... и этот процент всё уменьшается и уменьшается. :(

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

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

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

И я догадываюсь почему это происходит. Никто не хочет вникать, ждут разжованое и готовое. Но это медвежья услуга. Когда берёте что-то готовое вы всё так же не понимаете как оно работает. А книжки читать по программированию - бестолку, они НЕ НАУЧАТ программировать, только строить типовые конструкции на конкретном языке - т.е. та база которую надо знать ПРЕЖДЕ чем начать программировать. Если вы не понимаете базовые конструкции то учится программировать ещё рано, вечно будете выдегивать код и вставлять без понимания.
Развивайте абстрактное мышление - оно даёт ключ к успешному программированию. Начните с блок-схем программ или её частей, потом гораздо легче это превратить в код.
А на форуме... лучше искать направление на нужный ответ, а не сами ответы.

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

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

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

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

22 часа назад, Алексей Смокотин сказал:

А Вы сами до всего додумываетесь?...

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

Именно так. Литературой пользуюсь (еще как). Не подсматриваю, не спрашиваю, не жду готового. Выводы делаю на собственном опыте, а не чужих решениях. Именно поэтому и написАл "вагон и маленькая тележка".

Насчет умничать. Где я такое проявлял по отношению к Вам? Покажите. Все остальное - справедливо, читайте книжки...

 

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

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

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

Уважаемые знатоки, подскажите как организовать питание схемы на 5v от аккумуляторов или батареек. Отдельных аккумуляторов на 5v я не нашел( по крайней мере в зоне ближайшей доступности). Думаю взять 4x1.5V батарейки и понизить стабилизатором L4940V5 до 5V. Интересно, как решают такую проблему более опытные пользователи.

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

Схему беспроводного термометра. Там датчик температуры lm335, МК PIC16F683 и радиопередатчик XY-MK-5V. У датчика диапазон напряжения достаточно большой, у МК по даташиту 2-5.5V, по радиомодулю не нашел даташита, однако 5V в названии говорит само за себя. В общем то датчик и мк можно спокойно запитать от 4.5V, но придется перерасчитывать значения для АЦП. Ну и я не уверен как 4.5V повлияют на работу радиомодуля.

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

На счёт модуля не а курсе тоже. Погуглить нужно. А про АЦП не совсем понял. У вас опорное это напряжение питания?. Нужно ион использовать. В пике внутреннего ИОНа нет разве?

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

Используй внешнюю опору. Но ИМХО ПИК туда как раз ни к селу ни к городу. При питании от батареек надо стараться понизить потребление тока, иначе схема у вас будет требовать замены батареек каждые 2 недели. у ПИК-а печально с энергосбережением, и применение стабилизатора с батарейным питанием не совместимо - один только стабилизатор будет разряжать батарейку с неприемлемо большой скоростью.
Передатчик, если простейший, то работает в широком диапазоне напряжений только мощность будет сильно падать по мере разряда батареи.
Кстати ваш стабилизатор L4940V5 на 1.5А, экономией потребления там и не пахнет. Он один только съест батарейку за 41 день.
Что касается МК посмотрите какой у него ток потребления в режиме сна. Для здоровья батареек потребляемый ток не должен превышать 1мкА, а лучше порядка 200нА. Такое достичь сложно даже отключая неиспользуемый потребитель полевым транзистором, который даже в отключенном состоянии "течёт" током в 0.5мкА(для силовых полевиков на 1-2А это норма).
Для АЦП - без вариантов, использовать внешний ИОН хотябы тот же TL431, подключая его только на время измерения(зачем ему ток потреблять пока он не нужен?) - можно его даже подключить к свободному порту контроллера и подавать "1" за несколько милисекунд перед измерением.

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

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

В 09.04.2018 в 13:44, Шампунь сказал:

как организовать питание схемы на 5v от аккумуляторов или батареек. Отдельных аккумуляторов на 5v я не нашел

Неплохие результаты дает DC-DC преобразователь MAX630 или MC34063, только надо позаботиться о фильтрации с помощью дополнительного LC фильтра (на ферритовой "тумбочке"). Платку стабилизатора сделать отдельно и полностью за экранировать фольгой.

У меня такой стабилизатор стоит в одном носимом устройстве, очень чувствительном к электрическим помехам, работает без нареканий.

Причем батарейки высасывает до суха (0.65v) при хорошем КПД.

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

Всем привет. Подскажите пожалуйста.Имеется мк STM8S. На борту есть 16 битный таймер состоящий из двух регистров счетчика. Так вот как мне взять значение таймера и сравнить его со значением переменной. Брать каждый байт по отдельности или как. Подскажите. И еще такой вопрос. Можно ли скажем из пременной а вычесть значение 120 просто записав так: int a = b - 120? поймет ли это МК?

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

Не знаю, как в вашем компиляторе, а в компиляторах для 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;

вполне корректно.

 

 

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

43 минуты назад, Sergey-Ufa сказал:

int tcnt=tcntH*0xff+ tcntL;

Только умножать не на 0xFF а на 0x100, конечно.

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

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

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

Извините. но че то не понял. У меня есть два восьми битных регистра старший и младший. TIM1_CNTRH и TIM1_CNTRL. раньше я подбирал предделитель так, так что заполнялся только младший регистр и мне этого вполне хватало. Теперь необходимо увеличить точность и нужно заполнять два этих регистра. как мне сравнить знчение счетчика с каким то числом? И вообще можно ли обьеденить два однобайтовых числа в одно двухбайтовое что бы одно было продолжением другого??>? тогда бы можно было присвоить переменным значение каждого регистра и обьединить их

5 часов назад, Sergey-Ufa сказал:

Не знаю, как в вашем компиляторе, а в компиляторах для AVR 16-битные регистры можно считывать, как одно 16-битное значение типа int.

То есть Вы имеете ввиду записать так TIM1_CNTR - без младшего и старшего?

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

Так написали ж вам вариант с юнионом, и без юниона. Ещё раз:

uint16_t timerTicks = TIM1_CNTR_VAL;
TIM1_CNTRL = (uint8_t)timerTicks;
TIM1_CNTRH = (uint8_t)(timerTicks>>8);

 

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

9 часов назад, Евгений61 сказал:

А в 8-ми битном мк переменная int сколько будет занимать?

В МК вообще нет переменных. Переменная - объект компилятора.

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

В 16.04.2018 в 16:41, Евгений61 сказал:

А в 8-ми битном мк переменная int сколько будет занимать?

 

Во всех известных мне компиляторах - 2 байта. А вообще полезно перейти на специально заданные типы  (u)int[x]_t  (int16_t, uint8_t)

戦う前に相手のベルトの色に注目

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

Вообще, зависит от платформы. В компиляторах для 32-ух битных платформ, размер int = 32 бита.
Лучше всего использовать типы short (16 бит), long (32 бита), ... . У них длина гарантирована.

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

а не правильнее будет использовать нечто типа int8_t например, если точно знаешь, что пишешь для встроенной системы? Ну и мне казалось что в новых стандартах С это даже рекомендовано, вместо всяких short long и very very long unsigned float ))

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

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

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

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

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

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

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

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

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

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

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

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

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