admin Опубликовано 3 мая, 2016 Поделиться Опубликовано 3 мая, 2016 Запускаем новый видеокурс по микроконтроллерам семейства STM8. Курс планируем сделать интересным и интерактивным. Будут различные задания для проверки ваших знаний. От вас хотим услышать обратную связь и активное обсуждение, а также ждем любых вопросов! Ведет курс Василий (Профиль на сайте cxem.net для доната: i80186) Урок #1: Рассмотрены основные особенности микроконтроллеров серии STM8 серии STMicroelectronics. Проведено сравнение их с микроконтроллерами фирм Atmel и Microchip. Так же уделено внимание средствам разработки и отладки для данных микроконтроллеров, требующимся для начала работы с ними, а именно среде IAR EMBEDDED WORKBENCH для STM8 и отладочному набору на базе микроконтроллера STM8S105 - STM8S-DISCOVERY. 3 VK | Дзен | Telegram | OK Ссылка на комментарий Поделиться на другие сайты Поделиться
admin Опубликовано 3 мая, 2016 Автор Поделиться Опубликовано 3 мая, 2016 В первом уроке были проблемы со звуком, во втором постарались исправить этот недочет Рассмотрены основы работы со средой разработки IAR для микроконтроллеров STM8. Описана установка среды, создание проекта в ней, рассмотрены основные инструменты отладки. Среда IAR STM8 Lesson-2.zip 3 VK | Дзен | Telegram | OK Ссылка на комментарий Поделиться на другие сайты Поделиться
20% скидка на весь каталог электронных компонентов в ТМ Электроникс!Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!Перейти на страницу акции Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849
admin Опубликовано 3 мая, 2016 Автор Поделиться Опубликовано 3 мая, 2016 Урок #3: Подключение STM8S-DISCOVERY. Разбор работы портов ввода-вывода. Простейшая программа. Он-лайн тест Урок #4: Разбор работы модуля тактирования и таймер TIM4. Пример программы. Он-лайн тест Урок #5: Практика 1. Измерение расстояния УЗ датчиком HC-SR04. Датчик парковки lesson3.rar lesson4.rar lesson5.rar 0 VK | Дзен | Telegram | OK Ссылка на комментарий Поделиться на другие сайты Поделиться
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторовОбязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей. Подробнее>>Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161
IDis Опубликовано 3 мая, 2016 Поделиться Опубликовано 3 мая, 2016 (изменено) Спасибо за курс! А можете сделать уроки для тех кто работал с Ардуино и знает Си. Но не работал с полноценной Атмегой, Пиком, СТМом и тд Многие вещи не очень ясны. - Если есть настроение, хоть как то расскажите о регистрах более подробно. - А так же о том, как тут работают прерывания. - Некоторые команды не ясны. #pragma, TIM4_OVR_UIF_vector, pragma vector=TIM4_OVR_UIF_vector - Если не лень, пожалуйста комментируйте код более подробно. - __enable_interrupt(); что это за функция? Изменено 3 мая, 2016 пользователем IDis 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
i80186 Опубликовано 4 мая, 2016 Поделиться Опубликовано 4 мая, 2016 Настроение есть. Уроков будет много. Они задуманы, как последовательный рассказ о настройках периферийных узлов процессора, применительно к созданию некого электронного устройства. #pragma - это команда для компилятора. В в данном контексте она задаёт адрес вектора прерывания TIM4 для функции обработки прерывания по переполнению таймера. __enable_interrupt(); - это стандартная для С функция. Находится в стандартной библиотеке intrinsics.h. Разрешает глобальное прерывание. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
mail_robot Опубликовано 6 мая, 2016 Поделиться Опубликовано 6 мая, 2016 (изменено) какой смысл в STM8, когда есть STM32F030 мне кто нибудь здесь сможет толково обьяснить? Может я чего не знаю? видеокурс по очередному тупику эволюции МК Работать ради работы конечно можно. Героически снимать видео и тешить ЧСВ. Но пользы от этого будет мало. Кого то это введет в заблуждение, а ктото просто плюнет на эти модные STM-ки и будет продолжать грызть меги и пики. Не в обиду. Чисто мнение со стороны Все что говорится в первом ролике было бы актуально лет 5-7 назад и то с натяжкой на фоне AVR, но не сегодня. Стартовый набор для 32-ой стоит 5 долларов. Это уже коммерческая цена. Компилятор бесплатный, поддерживает полностью С++ Я сравнивал 8-ку и 32 так и сяк и пришел к выводу что по стоимости они в одной нише, это раз. Корпусировка доступна та же, если надо. Инструменты разработчика для 32 наааамного круче. Ресурсов самого камня (не знаю как точно сравнить, но все равно скажу так) - на порядок больше. И самое главное - 32 проще 8-ки, такой вот парадокс. Последний гвоздь в крышку гроба - разрядность. Ну вы понимаете о чем я Изменено 6 мая, 2016 пользователем mail_robot 0 Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух Ссылка на комментарий Поделиться на другие сайты Поделиться
i80186 Опубликовано 6 мая, 2016 Поделиться Опубликовано 6 мая, 2016 какой смысл в STM8, когда есть STM32F030 мне кто нибудь здесь сможет толково обьяснить? Может я чего не знаю? видеокурс по очередному тупику эволюции МК Работать ради работы конечно можно. Героически снимать видео и тешить ЧСВ. Но пользы от этого будет мало. Кого то это введет в заблуждение, а ктото просто плюнет на эти модные STM-ки и будет продолжать грызть меги и пики. Не в обиду. Чисто мнение со стороны Все что говорится в первом ролике было бы актуально лет 5-7 назад и то с натяжкой на фоне AVR, но не сегодня. Стартовый набор для 32-ой стоит 5 долларов. Это уже коммерческая цена. Компилятор бесплатный, поддерживает полностью С++ Я сравнивал 8-ку и 32 так и сяк и пришел к выводу что по стоимости они в одной нише, это раз. Корпусировка доступна та же, если надо. Инструменты разработчика для 32 наааамного круче. Ресурсов самого камня (не знаю как точно сравнить, но все равно скажу так) - на порядок больше. И самое главное - 32 проще 8-ки, такой вот парадокс. Последний гвоздь в крышку гроба - разрядность. Ну вы понимаете о чем я А если я с TI начну сравнивать... Это ОБУЧАЮЩИЕ видео, тут обучают. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
mail_robot Опубликовано 6 мая, 2016 Поделиться Опубликовано 6 мая, 2016 (изменено) Это ОБУЧАЮЩИЕ видео, тут обучают. уже есть прекрасный (я считаю) видеокурс по авр-кам. Чем ваша обучалка конкретно лучше той? Если провести по итогу дифанализ, то отличия будут только в описании отдельных специфических блоков, которых не так уж и много. Принципиально 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 - тупик к сожалению. Разрабатывать что-то новое на нем смысла никакого нет Изменено 6 мая, 2016 пользователем mail_robot 1 Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух Ссылка на комментарий Поделиться на другие сайты Поделиться
COKPOWEHEU Опубликовано 6 мая, 2016 Поделиться Опубликовано 6 мая, 2016 mail_robot, вы не правы, разводя срач не по существу. Полезное оно или нет пусть разбираются те, кому эта тема интересна. Я вообще считаю все подобные обучающие видео бесполезными (текстовый материал удобнее), но если кому-то помогает - да на здоровье. Я уверен, если смотреть никто не будет это демотивирует лучше. Посмотреть само видео не получается, так что по существу оценить не могу - дается ли там нормальная теория или только набор шаманских ритуалов. 2 Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз. Часть моих наработок. Ссылка на комментарий Поделиться на другие сайты Поделиться
mail_robot Опубликовано 7 мая, 2016 Поделиться Опубликовано 7 мая, 2016 (изменено) первый ролик вообще в принципе можно и не смотреть, там бла бла про то какие замечательные камни 8-ки и про планы на курс второе видео как устанавливать иар и куда там тыкать. Просто видео про иар я вот тоже согласен с тем, что текстовый вариант обучалки эффективнее. Можно быстро пропустить ту часть материала которая не интересна, просто бегло по тексту. Выбрать рубрику которая нужна и ее проштудировать. В текст можно вставить ссылки на сопутствующие материалы, если нужно. Листинги примеров с текста тоже лучше воспринимаются. человек занялся, пусть делает Изменено 7 мая, 2016 пользователем mail_robot 0 Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух Ссылка на комментарий Поделиться на другие сайты Поделиться
RomanVolgodonsk Опубликовано 9 мая, 2016 Поделиться Опубликовано 9 мая, 2016 а когда будет третий урок ? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
i80186 Опубликовано 12 мая, 2016 Поделиться Опубликовано 12 мая, 2016 а когда будет третий урок ? Скоро будет. Выздороветь выздоровел. Клавиатуру отбитую нашёл, моя сдохла. STM8S-DISCOVERY приехало. Будут порты ввода вывода, самый простой таймер. "хеллоу Ворлд!" с миганием свеетодиодиком. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
IDis Опубликовано 13 мая, 2016 Поделиться Опубликовано 13 мая, 2016 (изменено) Будут порты ввода вывода, самый простой таймер. "хеллоу Ворлд!" с миганием свеетодиодиком. Если не сложно то подробней код комментируйте и по возможности дайте понять логику что и почему так называется. Например PD_DDR_bit.DDR7 почему именно такие названия даны. Или что это? PD_CR1_bit.C17 Без понятия логики, придется зубрить, а зубрешка надолго в голове не останется Изменено 13 мая, 2016 пользователем IDis 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
i80186 Опубликовано 13 мая, 2016 Поделиться Опубликовано 13 мая, 2016 Будут порты ввода вывода, самый простой таймер. "хеллоу Ворлд!" с миганием свеетодиодиком. Если не сложно то подробней код комментируйте и по возможности дайте понять логику что и почему так называется. Например PD_DDR_bit.DDR7 почему именно такие названия даны. Или что это? PD_CR1_bit.C17 Без понятия логики, придется зубрить, а зубрешка надолго в голове не останется Это не я так называю, это так названы они в заголовочном файле. Чтоб было нагляднее откройте менюшку Регистры в режиме дебагара и посмотрите как они названы там. Ну или описание самого процессора. Это обращения к конкретным битам конкретного регистра процессора в общем. PD - port D, DDR - data derection registr, bit - обращение к биту, ну и его название. Придумали видимо разработчики процессора, на английском так попонятнее. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
IDis Опубликовано 31 мая, 2016 Поделиться Опубликовано 31 мая, 2016 Надеюсь, мы тут не отбили желание продолжить делать данный курс? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
i80186 Опубликовано 31 мая, 2016 Поделиться Опубликовано 31 мая, 2016 Надеюсь, мы тут не отбили желание продолжить делать данный курс? Нет. Просто микрофон пришлось из Китая ждать новый. Ролик очередной уже готов. Скоро опубликовать должны. 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
admin Опубликовано 1 июня, 2016 Автор Поделиться Опубликовано 1 июня, 2016 В третий пост добавлен третий урок. В этот раз видеокурс у нас будет интерактивным и для третьего выпуска подготовлен он-лайн тест. После просмотра видео вы можете проверить себя как вы усвоили материал. 1 VK | Дзен | Telegram | OK Ссылка на комментарий Поделиться на другие сайты Поделиться
IDis Опубликовано 2 июня, 2016 Поделиться Опубликовано 2 июня, 2016 (изменено) Конспект к лекции 3 макс размер таблицы IDR - входной регистр ODR - выходной регистр DDR - регистр направления (вход / выход) CR1 - регистр управления на выходе задет либо стандартный выход (1), либо усиленный выход(0) на входе подключает подтягивающий резистор(1), либо ножка болтается и ловит помехи(0) CR2 - регистр управления на выходе: задет либо стандартную скорость 2мГц (0), либо быструю 10 мГц(1) на входе: запрещает прерывания(0), или разрешает прерывания(1) 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) распиновка на плате (провод вверху) ======================================================================================================== ВОПРОСЫ ПО ЛЕКЦИИ: - зачем нам ODR и IDR если мы тоже самое можем сделать с помощью DDR ? Что те конфигурируют вывод на вход или выход, что этот. - все ли я правильно записал, в конспекте? - что такое P-Buffer? Изменено 2 июня, 2016 пользователем IDis 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
i80186 Опубликовано 2 июня, 2016 Поделиться Опубликовано 2 июня, 2016 (изменено) 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 и подключения подтягивающего резистора. Изменено 2 июня, 2016 пользователем i80186 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
i80186 Опубликовано 2 июня, 2016 Поделиться Опубликовано 2 июня, 2016 (изменено) Там ещё вот это 2/10 Мгц в таблице. Не 2/10, просто 10Мгц. Если CR2 при выводе данных 1, то 10МГц, если 0 то 2 Мгц. Изменено 2 июня, 2016 пользователем i80186 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
IDis Опубликовано 2 июня, 2016 Поделиться Опубликовано 2 июня, 2016 (изменено) мнимый открытый коллектор То есть, при включении мнимого открытого коллектора мы на выходе получаем ноль? запись ниже означает: на вывод 30 (порт С5) подать ноль? PC_DDR_bit.DDR5=1; PC_CR1_bit.C15=0; Есть ли разница при конфигурировании аналогово и цифрового входа/выхода? Или здесь нет АЦП и все выводы цифровые? Изменено 2 июня, 2016 пользователем IDis 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
i80186 Опубликовано 2 июня, 2016 Поделиться Опубликовано 2 июня, 2016 (изменено) мнимый открытый коллектор То есть, при включении мнимого открытого коллектора мы на выходе получаем ноль? запись ниже означает: на вывод 30 (порт С5) подать ноль? PC_DDR_bit.DDR5=1; PC_CR1_bit.C15=0; Есть ли разница при конфигурировании аналогово и цифрового входа/выхода? Или здесь нет АЦП и все выводы цифровые? Да, при мнимом открытом коллекторе необходимо внешний резистор на питание. Нет, запись обозначает настроить порт на вывод. Ещё дописать нужно. PC_ODR_bit.ODR5=0; Как я уже говорил, вывод данных в регистр ODR, а ввод из регистра IDR. Есть АЦП, но пока оно не включено разницы никакой. А перед включением, и настройкой порта как аналогово входа, просто на ввод, без потдягивающих резисторов желательно настроить, т. е. состояние по сбросу. Но настройка на ввод просто прописана как желаемая, т. е. вроде как не обязательно, но лучше переводдить в такое состояние. Изменено 3 июня, 2016 пользователем i80186 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
IDis Опубликовано 3 июня, 2016 Поделиться Опубликовано 3 июня, 2016 а мнимый открытый коллектор, что в данном случаи (у stm8) что означает? 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
i80186 Опубликовано 3 июня, 2016 Поделиться Опубликовано 3 июня, 2016 (изменено) а мнимый открытый коллектор, что в данном случаи (у stm8) что означает? Это означает, что один из транзисторов выходного буфера отключён, и можно повесить внешний резистор к другому источнику питания, не превышающему текущие питание МК, скажем чтобы совместить по уровню с низковольтной логикой. Изменено 3 июня, 2016 пользователем i80186 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
IDis Опубликовано 3 июня, 2016 Поделиться Опубликовано 3 июня, 2016 хотел уточнить насчёт изменения скорости 2/10мГц. это скорость с которой может ножка дергаться? Это зависит от внутреннего кварца? А если использовать внешний кварц, тогда как скорость регулировать? Отправлено с моего Wileyfox Swift через Tapatalk 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.