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

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

Запускаем новый видеокурс по микроконтроллерам семейства STM8. Курс планируем сделать интересным и интерактивным. Будут различные задания для проверки ваших знаний. От вас хотим услышать обратную связь и активное обсуждение, а также ждем любых вопросов!

Ведет курс Василий (Профиль на сайте cxem.net для доната: i80186)

Урок #1:

Рассмотрены основные особенности микроконтроллеров серии STM8 серии STMicroelectronics. Проведено сравнение их с микроконтроллерами фирм Atmel и Microchip. Так же уделено внимание средствам разработки и отладки для данных микроконтроллеров, требующимся для начала работы с ними, а именно среде IAR EMBEDDED WORKBENCH для STM8 и отладочному набору на базе микроконтроллера STM8S105 - STM8S-DISCOVERY.

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

В первом уроке были проблемы со звуком, во втором постарались исправить этот недочет

Рассмотрены основы работы со средой разработки IAR для микроконтроллеров STM8. Описана установка среды, создание проекта в ней, рассмотрены основные инструменты отладки.

Среда IAR

STM8 Lesson-2.zip

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

Урок #3:

Подключение STM8S-DISCOVERY. Разбор работы портов ввода-вывода. Простейшая программа.

Он-лайн тест

Урок #4:

Разбор работы модуля тактирования и таймер TIM4. Пример программы.

Он-лайн тест

Урок #5:

Практика 1. Измерение расстояния УЗ датчиком HC-SR04. Датчик парковки

lesson3.rar

lesson4.rar

lesson5.rar

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

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

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

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

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

Спасибо за курс!

А можете сделать уроки для тех кто работал с Ардуино и знает Си. Но не работал с полноценной Атмегой, Пиком, СТМом и тд

Многие вещи не очень ясны.

- Если есть настроение, хоть как то расскажите о регистрах более подробно.

- А так же о том, как тут работают прерывания.

- Некоторые команды не ясны. #pragma, TIM4_OVR_UIF_vector, pragma vector=TIM4_OVR_UIF_vector

- Если не лень, пожалуйста комментируйте код более подробно.

- __enable_interrupt(); что это за функция?

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

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

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

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

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

Настроение есть. Уроков будет много. Они задуманы, как последовательный рассказ о настройках периферийных узлов процессора, применительно к созданию некого электронного устройства.

#pragma - это команда для компилятора. В в данном контексте она задаёт адрес вектора прерывания TIM4 для функции обработки прерывания по переполнению таймера.

__enable_interrupt(); - это стандартная для С функция. Находится в стандартной библиотеке intrinsics.h. Разрешает глобальное прерывание.

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

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

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

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

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

какой смысл в STM8, когда есть STM32F030 мне кто нибудь здесь сможет толково обьяснить? Может я чего не знаю?

видеокурс по очередному тупику эволюции МК

Работать ради работы конечно можно. Героически снимать видео и тешить ЧСВ. Но пользы от этого будет мало. Кого то это введет в заблуждение, а ктото просто плюнет на эти модные STM-ки и будет продолжать грызть меги и пики. Не в обиду. Чисто мнение со стороны

Все что говорится в первом ролике было бы актуально лет 5-7 назад и то с натяжкой на фоне AVR, но не сегодня. Стартовый набор для 32-ой стоит 5 долларов. Это уже коммерческая цена. Компилятор бесплатный, поддерживает полностью С++

Я сравнивал 8-ку и 32 так и сяк и пришел к выводу что по стоимости они в одной нише, это раз. Корпусировка доступна та же, если надо. Инструменты разработчика для 32 наааамного круче. Ресурсов самого камня (не знаю как точно сравнить, но все равно скажу так) - на порядок больше. И самое главное - 32 проще 8-ки, такой вот парадокс. Последний гвоздь в крышку гроба - разрядность. Ну вы понимаете о чем я

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

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

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

какой смысл в STM8, когда есть STM32F030 мне кто нибудь здесь сможет толково обьяснить? Может я чего не знаю?

видеокурс по очередному тупику эволюции МК

Работать ради работы конечно можно. Героически снимать видео и тешить ЧСВ. Но пользы от этого будет мало. Кого то это введет в заблуждение, а ктото просто плюнет на эти модные STM-ки и будет продолжать грызть меги и пики. Не в обиду. Чисто мнение со стороны

Все что говорится в первом ролике было бы актуально лет 5-7 назад и то с натяжкой на фоне AVR, но не сегодня. Стартовый набор для 32-ой стоит 5 долларов. Это уже коммерческая цена. Компилятор бесплатный, поддерживает полностью С++

Я сравнивал 8-ку и 32 так и сяк и пришел к выводу что по стоимости они в одной нише, это раз. Корпусировка доступна та же, если надо. Инструменты разработчика для 32 наааамного круче. Ресурсов самого камня (не знаю как точно сравнить, но все равно скажу так) - на порядок больше. И самое главное - 32 проще 8-ки, такой вот парадокс. Последний гвоздь в крышку гроба - разрядность. Ну вы понимаете о чем я

А если я с TI начну сравнивать... Это ОБУЧАЮЩИЕ видео, тут обучают.

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

Это ОБУЧАЮЩИЕ видео, тут обучают.

уже есть прекрасный (я считаю) видеокурс по авр-кам. Чем ваша обучалка конкретно лучше той? Если провести по итогу дифанализ, то отличия будут только в описании отдельных специфических блоков, которых не так уж и много. Принципиально 8-битки мало чем друг от друга отрываются. Все примерно на одной линии. Разве что конечно АВР дороже как по корпусам, так и по стоимости оборудования для толковой работы в режиме отладки в железе.

Прошло время, появились STM8. Намного позже, но с похожим возом проблем. Появились по всей видимости чтобы заткнуть дырку в бюджете ST. Стало понятно что в таком виде конкурировать с атмелом они не смогут, слишком много проблем и мало аргументов в пользу перехода на 8-ки. Сделали ставку на лицензированное ядро Cortex и полную переработку архитектуры. В итоге появились STM32. Причем в широчайшей линейке, перекрывающей в том числе и нишу STM8 как по возможностям, так и по цене, но с несравнимо более дешевым и экономичным циклом разработки от идеи до готового решения.

Вот это вот можно еще сравнивать. Лепить сюда TI было весьма непрофессионально с вашей стороны. Это совсем иная ниша и другие деньги.

Что я могу сказать еще в качестве аргументов за 32-ю серию против 8-ой

1. Компилятор бесплатный и очень крутой. Отсылать за кряком на торренты в видео было не очень красиво. Ресурс то публичный

2. Среда разработки далеко не убогий IAR

3. Есть мощнейшее средство администрирования ресурсов и автокодинга. Сокращает затраты на пустой код иниток раз в 20 по времени

4. Есть операционная система реального времени. Еще сокращает расходы на кодинг раз в 10. Помигать светодиодом? 5 минут ровно. Можно на скорость сделать за 2, при этом 99,99999% времени ядра будут свободны для других задач. При этом ни один таймер не будет задействован.

5. Производительность. Простейший камень за доллар работает на частоте 72 мегагерца на 32 разрядах. Ваши 16 мегагерц? Я улыбаюсь

6. DIP40 для домашнего использования. Не вопрос

7. Программатор-отладчик - 2 бакса

8. ЦАП/АЦП 12 разрядов. 10 уже давно мало для многих даже простых задачек

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

STM8 - тупик к сожалению. Разрабатывать что-то новое на нем смысла никакого нет

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

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

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

mail_robot, вы не правы, разводя срач не по существу. Полезное оно или нет пусть разбираются те, кому эта тема интересна. Я вообще считаю все подобные обучающие видео бесполезными (текстовый материал удобнее), но если кому-то помогает - да на здоровье. Я уверен, если смотреть никто не будет это демотивирует лучше.

Посмотреть само видео не получается, так что по существу оценить не могу - дается ли там нормальная теория или только набор шаманских ритуалов.

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

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

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

первый ролик вообще в принципе можно и не смотреть, там бла бла про то какие замечательные камни 8-ки и про планы на курс

второе видео как устанавливать иар и куда там тыкать. Просто видео про иар

я вот тоже согласен с тем, что текстовый вариант обучалки эффективнее. Можно быстро пропустить ту часть материала которая не интересна, просто бегло по тексту. Выбрать рубрику которая нужна и ее проштудировать. В текст можно вставить ссылки на сопутствующие материалы, если нужно. Листинги примеров с текста тоже лучше воспринимаются.

человек занялся, пусть делает

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

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

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

а когда будет третий урок ?

Скоро будет. Выздороветь выздоровел. Клавиатуру отбитую нашёл, моя сдохла. STM8S-DISCOVERY приехало. Будут порты ввода вывода, самый простой таймер. "хеллоу Ворлд!" с миганием свеетодиодиком.
Ссылка на комментарий
Поделиться на другие сайты

Будут порты ввода вывода, самый простой таймер. "хеллоу Ворлд!" с миганием свеетодиодиком.

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

Например PD_DDR_bit.DDR7 почему именно такие названия даны. Или что это? PD_CR1_bit.C17 Без понятия логики, придется зубрить, а зубрешка надолго в голове не останется

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

Будут порты ввода вывода, самый простой таймер. "хеллоу Ворлд!" с миганием свеетодиодиком.

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

Например PD_DDR_bit.DDR7 почему именно такие названия даны. Или что это? PD_CR1_bit.C17 Без понятия логики, придется зубрить, а зубрешка надолго в голове не останется

Это не я так называю, это так названы они в заголовочном файле. Чтоб было нагляднее откройте менюшку Регистры в режиме дебагара и посмотрите как они названы там. Ну или описание самого процессора. Это обращения к конкретным битам конкретного регистра процессора в общем. PD - port D, DDR - data derection registr, bit - обращение к биту, ну и его название. Придумали видимо разработчики процессора, на английском так попонятнее.

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

  • 3 недели спустя...

Надеюсь, мы тут не отбили желание продолжить делать данный курс?

Нет. Просто микрофон пришлось из Китая ждать новый. Ролик очередной уже готов. Скоро опубликовать должны.

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

В третий пост добавлен третий урок.

В этот раз видеокурс у нас будет интерактивным и для третьего выпуска подготовлен он-лайн тест. После просмотра видео вы можете проверить себя как вы усвоили материал.

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

Конспект к лекции 3

e2bd1af9aa1c.jpg

макс размер таблицы

IDR - входной регистр

ODR - выходной регистр

DDR - регистр направления (вход / выход)

CR1 - регистр управления

  • на выходе задет либо стандартный выход (1), либо усиленный выход(0)
  • на входе подключает подтягивающий резистор(1), либо ножка болтается и ловит помехи(0)

CR2 - регистр управления

  • на выходе: задет либо стандартную скорость 2мГц (0), либо быструю 10 мГц(1)
  • на входе: запрещает прерывания(0), или разрешает прерывания(1)

ccb8e7ea42fat.jpg

PD_DDR_bit.DDR0 = 1; // порт D0, ножка на МК 41 сконфигурирован как выход (1).
PD_CR1_bit.C10 = 1; // порт D0, ножка 41 подключен как стандартный выход (1)(не расчитан на повышенную нагрузку)
PD_CR2_bit.C20 = 1; // порт D0, ножка 41 сконфигурирован на повышенную скорость работы 10мГц(1) (иначе 2мГц)

PD - порт D (для порта С запись будет иметь следующий вид PC_DDR_bit.DDR0=1;)

DDR - данными символами показываем что хотим задать режим работы ножки, либо на вход, либо на выход.

bit - указывает что значение может быть либо 1 либо 0

DDR0 - порядковый номер порта D равен 0 (для порта C5 (ножка 30) запись будет иметь вид PC_DDR_bit.DDR5=1;)

С10 - порядковый номер порта. (для порта C5 (ножка 30) запись будет иметь следующий вид: PC_CR1_bit.C15=1;)

//Дополнительный пример конфигурации вывода на вход.

PC_DDR_bit.DDR5=0; // Порт C5 ножка на микроконтроллере 30, сконфигурирован на вход (0).
PC_CR1_bit.C15=0; // Не использовать подтягивающий резистор (0)
PC_CR2_bit.C25=0; // не использовать прерывания (0)

распиновка на плате (провод вверху)

616213bb80b2.jpg

========================================================================================================

ВОПРОСЫ ПО ЛЕКЦИИ:

- зачем нам ODR и IDR если мы тоже самое можем сделать с помощью DDR ? Что те конфигурируют вывод на вход или выход, что этот.

- все ли я правильно записал, в конспекте?

- что такое P-Buffer?

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

IDR - входной регистр

ODR - выходной регистр

DDR - регистр направления (вход / выход)

CR1 - регистр управления

  • на выходе задет либо стандартный выход (1), либо усиленный выход(0)
  • на входе подключает подтягивающий резистор(1), либо ножка болтается и ловит помехи(0)

CR2 - регистр управления

  • на выходе: задет либо стандартную скорость 2мГц (0), либо быструю 10 мГц(1)
  • на входе: запрещает прерывания(0), или разрешает прерывания(1)

Не усиленный выход, а выход с мнимым открытым коллектором, т. е. верхний транзистор на структурной схеме в описании называемый P-buffer, отключён.

PD_DDR_bit.DDR0 = 1; // порт D0, ножка на МК 41 сконфигурирован как выход (1).
PD_CR1_bit.C10 = 1; // порт D0, ножка 41 подключен как стандартный выход (1)(не расчитан на повышенную нагрузку)
PD_CR2_bit.C20 = 1; // порт D0, ножка 41 сконфигурирован на повышенную скорость работы 10мГц(1) (иначе 2мГц)

PD - порт D (для порта С запись будет иметь следующий вид PC_DDR_bit.DDR0=1;)

DDR - данными символами показываем что хотим задать режим работы ножки, либо на вход, либо на выход.

bit - указывает что значение может быть либо 1 либо 0

DDR0 - порядковый номер порта D равен 0 (для порта C5 (ножка 30) запись будет иметь вид PC_DDR_bit.DDR5=1;)

С10 - порядковый номер порта. (для порта C5 (ножка 30) запись будет иметь следующий вид: PC_CR1_bit.C5=1;)

PC_DDR_bit.DDR0 - вся запись едина и неделима. Это просто перевод сокращений для данного компилятора. Возможны другие обозначения.

для порта C5 (ножка 30) запись будет иметь следующий вид: PC_CR1_bit.C5=1; Нет PC_CR1_bit.C15=1; Опечатка наверное.

//Дополнительный пример конфигурации вывода на вход.

PC_DDR_bit.DDR5=0; // Порт C5 ножка на микроконтроллере 30, сконфигурирован на вход (0).
PC_CR1_bit.C15=0; // Не использовать подтягивающий резистор (0)
PC_CR2_bit.C25=0; // не использовать прерывания (0)

========================================================================================================

ВОПРОСЫ ПО ЛЕКЦИИ:

- зачем нам ODR и IDR если мы тоже самое можем сделать с помощью DDR ? Что те конфигурируют вывод на вход или выход, что этот.

- все ли я правильно записал, в конспекте?

- что такое P-Buffer?

Регистр DDR задаёт напрявление передачи данных, сами же данные соответственно пишутся и читаются в и из регистров ODR и IDR. Т.е. конфигурирует только DDR.

P-buffer- название того самого транзистора, который необходимо отключить, дабы получить выход с открытым коллектором. Для чего они записали это его в таблицу, без понятия))

Кстати порты имеющие литеру T(PE0 и PE1) имеют реальный выход с открытым коллектором, можно повысить выходное напряжение до 6,5В путём включения режима open-drain и подключения подтягивающего резистора.

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

Там ещё вот это 2/10 Мгц в таблице. Не 2/10, просто 10Мгц. Если CR2 при выводе данных 1, то 10МГц, если 0 то 2 Мгц.

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

мнимый открытый коллектор

То есть, при включении мнимого открытого коллектора мы на выходе получаем ноль?

запись ниже означает: на вывод 30 (порт С5) подать ноль?

PC_DDR_bit.DDR5=1;
PC_CR1_bit.C15=0;

Есть ли разница при конфигурировании аналогово и цифрового входа/выхода? Или здесь нет АЦП и все выводы цифровые?

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

мнимый открытый коллектор

То есть, при включении мнимого открытого коллектора мы на выходе получаем ноль?

запись ниже означает: на вывод 30 (порт С5) подать ноль?

PC_DDR_bit.DDR5=1;
PC_CR1_bit.C15=0;

Есть ли разница при конфигурировании аналогово и цифрового входа/выхода? Или здесь нет АЦП и все выводы цифровые?

Да, при мнимом открытом коллекторе необходимо внешний резистор на питание.

Нет, запись обозначает настроить порт на вывод. Ещё дописать нужно. PC_ODR_bit.ODR5=0;

Как я уже говорил, вывод данных в регистр ODR, а ввод из регистра IDR.

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

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

а мнимый открытый коллектор, что в данном случаи (у stm8) что означает?

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

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

хотел уточнить насчёт изменения скорости 2/10мГц.

это скорость с которой может ножка дергаться? Это зависит от внутреннего кварца? А если использовать внешний кварц, тогда как скорость регулировать?

Отправлено с моего Wileyfox Swift через Tapatalk

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

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

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

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

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

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

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

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

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

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

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

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