Jump to content

Search the Community

Showing results for tags 'Микроконтроллер'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Вопрос-Ответ. Для начинающих
    • Песочница (Q&A)
    • Дайте схему!
    • Школьникам и студентам
    • Начинающим
    • Паяльник TV
    • Обсуждение материалов с сайта
  • Радиоэлектроника для профессионалов
    • admin
    • Питание
    • Ремонт
    • Системы охраны и наблюдения. Личная безопасность
    • Роботы и модели на ДУ-управлении
    • Световые эффекты и LED
    • Самодельные устройства к компьютеру
    • Программное обеспечение
    • Металлоискатели
    • Автоматика
    • Электрика
    • Промышленная электроника
    • Измерительная техника
    • Мастерская радиолюбителя
    • КВ и УКВ радиосвязь
    • Радиопередатчики
    • Сотовая связь
    • Спутниковое ТВ
    • Телефония и фрикинг
    • Высокое напряжение
    • Идеи и технологии будущего
    • admin
    • Литература
    • Схемотехника для профессионалов
    • Разное
  • Аудио
    • FAQ, Технологии и компоненты
    • Для начинающих
    • Источники звука
    • Предусилители, темброблоки, фильтры
    • Питание аудио аппаратуры
    • Усилители мощности
    • Акустические системы
    • Авто-аудио
    • Ламповая техника
    • Гитарное оборудование
    • Прочее
  • Микроконтроллеры
    • МК для начинающих
    • admin
    • AVR
    • STM32
    • PIC
    • ПЛИС
    • Другие микроконтроллеры и семейства
    • Алгоритмы
    • Программаторы и отладочные модули
    • Периферия и внешние устройства
    • Разное
  • Товары и услуги
    • Коммерческие предложения
    • Продам-Отдам, Услуги
    • Куплю
    • Уголок потребителя
    • Вакансии и разовая работа
    • Наши обзоры и тесты
  • Разное
    • Курилка
    • Сайт Паяльник и форум
    • FAQ (Архив)
    • Технический английский (English)
    • Личные блоги
    • Наши проекты для Android и Web
    • Корзина
    • Конкурсы сайта с призами
    • Вопросы с VK
  • Переделки's ATX->ЛБП
  • Переделки's разные темы
  • Киловольты юмора's Юмор в youtube

Blogs

  • Твори, выдумывай, пробуй.
  • fant's блог
  • Ток покоя
  • Где купить велпатасвир, epclusa, velpanat, velasof, софосбувир в России по лучшей цене.
  • Китайские бренды видеокамер
  • Создание Маленькой Мастерской
  • Блог администрации
  • STEN50's блог
  • Изучение, наладка, исследование
  • MiSol62's блог
  • короткие записки по ходу дела
  • Программирование AVR и PIC блог
  • Стабилизированный выпрямитель тока ТЕС 12-3-НТ
  • Блог getshket
  • ТНПА
  • welder's блог
  • blog cheloveka loshadi
  • OPeX3's блог
  • Подводная робототехника
  • Сабвуфер и акустика.
  • Радиоуправляемая машина
  • Консультация психолога сексолога онлайн, психолог онлайн
  • Nokian блог
  • Оповещения Dermabellix Scam !! Не покупайте это !!!
  • Cheerful Boss' блог
  • Cheerful Boss' блог
  • VLAD1996B's блог
  • "Коллективное увеличение продаж"
  • Dudok's блог
  • "Коллективное увеличение продаж"
  • Goluboglazyi's блог
  • Прибор определяющий электролитический конденсатор на работоспособность.
  • Mosfet@'s блог
  • mazzi's блог
  • Лучшие компьютерные игры 2017
  • Marchenkokerya's блог
  • Заметки начинаущего аудиофила
  • Почти бесполезные проги
  • Светлый блог.
  • дядюшка Филин's блог
  • Дневники нуба
  • satyrn's блог
  • Люк. В погреб.
  • Фильм Дом Солнца
  • Светодиодная лента B-LED 2835-120 W белая негерметичная
  • Само-Реплицируещиеся Производственные Системы
  • Блог от Eknous
  • РВС's блог
  • Den_R's blog
  • РВС's блог
  • Чтото крутое и про криворукость
  • ekadom's блог
  • Проектирование любых чертежей
  • Lisovic's блог
  • Блог уже не юного радиогубителя
  • денди
  • eHouse
  • zaregan's блог
  • Схемотехника УНЧ с низковольтным питанием на примере приёмников фирмы Grundig
  • То, что в руки попало.
  • Блок питания водородного генератора и все что с ним связано
  • slava_va@mail.ru's блог
  • Блог alex123al97
  • slava_va@mail.ru's блог
  • параленое соединение КРЕНок или как сделать стабилизатор напряжения 24-12в
  • Свободная генерация Андрея Мельниченко
  • реобас
  • Модернизации системы впрыска на 555
  • помощь
  • Копии схем и печатных плат устройств попавшие ко мне
  • MBM75's блог
  • Буду
  • lagutai's блог
  • Мои проекты.
  • lagutai's блог
  • Трудовик
  • vOVK@'s блог
  • токарь-радиолюбитель
  • azlk3000's блог
  • Коллизия сингулярности
  • SmallAlex's блог
  • Вопрос по Цифровому усилителю мощности звука 2x12 Вт YDA138-E
  • bebulo's блог
  • Простейший макет станка термо-вакуумной формовки
  • Блог им. pryanic
  • peratronika
  • Zer's блог
  • MEDBEDb's
  • Гнездо кукушки
  • hiMiческий блог
  • luna_kamen's блог
  • Изучаем USI на основе сверхэкономичного прототипа
  • Алекс-Юстасу
  • SUBWOOFER.RU
  • kot sansher's блог
  • Поделки стареющего пионера
  • доброжелатель2's блог
  • Grig96. Полезные заметки.
  • Attiny 0-ой и 1-ой серии (Attiny817, 1614 и прочие)
  • pavlo's блог
  • MSP430FR
  • viper2's блог
  • Моя Электро Чинильня
  • Selyk's блог
  • VoltServis.ru
  • kpush's блог
  • OM3 на новых платах.
  • конни's блог
  • Электронный экстазёр "MASHKA".
  • ptimai's блог
  • noc functionalities
  • Sun kapitane's blog
  • ODEON AV-500
  • Sun kapitane's blog
  • Логика на транзисторах,диодах, счетние тригери на транзисторах
  • AleksandrBulchuck's блог
  • Качественные окна от производителя
  • KRALEX's блог
  • Javaman's projects
  • SeVeR36's блог
  • 3232
  • Пять копеек.
  • Az@t's блог
  • Индукционный нагрев
  • Схемы разных устройств
  • Кардшаринг SAT ТВ блог
  • PENTAGRID SAYS
  • Ещо раз о "Кощее 5И"
  • Игровые автоматы на официальном сайте
  • коллекционер
  • дямон's блог
  • Ламповый усилитель и акустика для озвучки семейных мероприятий
  • дямон's блог
  • tiosmutoutrup1971
  • Светомузыкальная установка для новачков
  • Лучшие игры для ПК скачать бесплатно
  • sqait's блог
  • Блокнотик
  • Gubernator's блог
  • Записки электрика
  • Полстакана
  • Vrednyuka
  • Интегральные микросхемы
  • grigorik's блог
  • Интегральные микросхемы
  • VMWare удобство и безопастность
  • Профсоюз обычных пользователей
  • rtfcnf's блог
  • Гидроэнергетика в России: отечественные гидроэлектростанции, типы и характеристики
  • VMWare удобство и безопастность
  • Лайфхаки от Кати
  • Kinh chong anh sang xanh gia re
  • ukabumaga's блог
  • АО "Диполь Технологии"
  • artos5's блог
  • блог
  • Kraftwerk's блог
  • 1
  • Kraftwerk's блог
  • Как выбрать точечный светильник?
  • мастерская ky3ne4ik'а
  • Работа с микроконтроллером Atmega8
  • Aronsky
  • Игорь Камский
  • Диммеры
  • 5В = 1,5+3
  • vitiv' блог
  • Ремонт цифровой панели прибора тойоты марк 100. Замена транзистора 36 ( SOT- 23 )PNP
  • Все СРО России
  • 300writers
  • Металлоискатель Tracker FM-1D3
  • Былое
  • Создание монстра "Blaster 8920"
  • 2Smart Cloud Blog
  • EmmGold's блог
  • 2Smart Cloud Blog
  • ivan15961596's блог
  • Кумир у-001
  • ivan15961596's блог
  • My blog
  • Интернет радио в машину
  • SamON
  • Помогите люди добрые
  • AI
  • Помогите подключить маяк 231 стерео.
  • Гаусс-пушки
  • Название
  • 7400's блог
  • Как я собирал свой первый импульсный источник питания
  • Віталік Приходько_130349's блог
  • Lithium ECAD - российская САПР печатных плат
  • Евгений Малюта's блог
  • ПИшу свои мысли
  • werekpro
  • Venera Electronica
  • afurgon's блог
  • Выбросьте это в парашу!
  • odaplus' блог
  • Zvik's блог
  • Smart overload protection power amplifier «Zita (Z) ThermalTrak™»
  • радиоэлектоника
  • BoBka777's блог
  • МиУЗР - Модернизация и Усовершенствование Звуковой Радиотехники .
  • aleksey9900's блог
  • Лабораторная блок питания
  • Нашел статью о пайке проводов к светодиодов
  • Китайский городовой
  • Костик0's блог
  • УФ лампа для маникюра SK-818
  • 8 Contrasts Between Web Servers and Application Servers
  • Конденсатор
  • Новости, обзоры и другая полезная информация от ИМ "Радиодар"
  • Цветомузыка
  • OPeX3's блог
  • Sem2012's блог
  • это не хлам – это часть моей жизни
  • Контроллер на базе ПК (OS Win LTSC)
  • OdiS' блог
  • Хитрости строителя
  • aleksfil's блог
  • Color Preamp - предусилитель на лампах 12AU7
  • Проблема с зарядкой литиевого аккумулятора для шуруповерта 21 вольт
  • EmmGold's блог; AVR
  • Микроэлектроника
  • З
  • CH32V
  • Блог Плотникова Ильи
  • Бесплатные радиодетали с Алиэкспресс
  • Повышение качества и снижение временных затрат при испытаниях электронных компонентов с помощью отечественного испытательного оборудования
  • Источники питания MEAN WELL
  • Жизнь и рыбалка
  • yureika's блог
  • Глушитель спутникогого интернета
  • Всякая всячина
  • Для начинающих
  • Ignite your senses with the grace and allure of female escorts near Laguna Niguel
  • Fumitox's блог
  • Наш-RXT6 топ-10 на январь 2023: Лучшие сайты онлайн казино в России
  • Лицензионные казино онлайн в 2024 году на реальные деньги
  • Самоделки блог
  • Домашняя автоматика
  • ульян's блог
  • Блок питания 0-12В для начинающих
  • Dimko's блог
  • Иван Самец's блог
  • SolomonVR's блог
  • gendzz's блог
  • fleh138's блог
  • Электроника forever!
  • aleksejhozhenets' блог
  • aleksejhozhenets' блог
  • diserver блог
  • aleksey290476 блог
  • ВАРГ's блог
  • Люстра Чижевского
  • wanes101's блог
  • voldemar2009's блог
  • Jana's блог
  • Jana's блог
  • Рена Искужин's блог
  • abduraxman7's блог
  • Kuzumba's блог
  • Самопальник
  • заработок через интернет на запчасти!!!
  • electric.kiev's блог
  • lolo's блог
  • leravalera's блог
  • ideomatic's блог
  • приглашаем на работу инженера-радиоэлектронщика
  • FREEMAN_77's блог
  • Блог автоэлектрика
  • Блог начинающего электронщика
  • Dersu's блог
  • Электроэнергия и её экономия!
  • Электроэнергия и её экономия!
  • Семён Ковалёв's блог
  • piligrim-666's блог
  • помогите с партотивной калонкой
  • помогите с партотивной калонкой
  • Музыка в стене.
  • m-a-r-i-k-a's блог
  • cosmos44's блог
  • oyama14's блог
  • блог Виталика!
  • ciornii's блог
  • Великий и Ужастный блог
  • Denis__Ricov's блог
  • Universal12's блог
  • Sprut's блог
  • Alexeyslav's блог
  • cosmosemo's блог
  • Заметки радиолюбителя
  • Falconist. Мемуары
  • Блог MillyVolt
  • усилитель импульсов
  • Panasonic sa-ak 18
  • Простое радиоуправление из того, что было.
  • 35house
  • Блог Радиочайника
  • Блохи iiiytnik'a
  • Хороший сервис- Бяка
  • Аудиолаборатория "Философия Звука"
  • ОколоCADовое
  • Блог KVLADS
  • Короп блог
  • Автоматизация котла Protherm MTV
  • Бложиг Касянича
  • Обо всём
  • Эксперимент
  • No electronics
  • ПРИРОДА СВЕТА и ЕГО ВОЗМОЖНОСТИ
  • Генератор на xr2206
  • HTPOWLASER
  • Когда-то были очень популярны у радиолюбителей
  • AVR - микроконтроллеры
  • Микроконтроллер
  • Самодельный автосимулятор
  • Интернет-магазин керамической плитки «Боярская Плитка»
  • Разработка электронных метрических мишеней IPSC для мягкой пневматики (страйкбол)
  • ,

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Skype


ICQ


Интересы


Город


Сфера радиоэлектроники


Оборудование

  1. Здесь будут помещаться различные примеры кода и прочего обсуждаемого в других темах. Также скидывайте сюда любую полезную информацию по AVR микроконтроллерам Он-лайн книга: "Книга по программированию микроконтроллеров AVR (ассемблер)" Atmel AVR4027: Tips and Tricks to Optimize Your C Code for 8-bit AVR Microcontrollers: Atmel AVR4027 (Оптимизация кода от Atmel).pdf
  2. Всем привет! Кто шарит, прошу помочь, хочу собрать колонку, но не могу выбраться с мозгами(не хочу брать готовые решения, т.к. тут я могу полностью сделать под себя). В другой теме мне написали, что ESP32 со своим 8-битным ЦАП-ом "не музыка, а шумовые эффекты", под него есть внешний ЦАП, 16-битный. Однако, чем чище будет звук, тем лучше!). Либо же использовать микрокомпьютеры по типу Raspberry Pi, либо какие-нибудь микроконтроллеры с внешним ЦАП. Кому не сложно - подскажите пожалуйста)
  3. Для людей которые интересуются темой микроконтроллеров, но не знают с чего начать. Объясню с чего начать, отвечу на интересующие вопросы, бесплатно. От вас нужно сильное желание разобраться в теме. Кому интересно постите сюда. Успевайте, возьму только несколько человек.
  4. Сайт Паяльник открывает обучающий видеокурс по AVR-микроконтроллерам. В этой теме "обратной связи" будем постепенно добавлять новые видеоролики с нашего канала. Здесь можно задавать вопросы, давать рекомендации, критиковать, оставлять отзывы и пожелания, а также запросы на тему будущих видеоуроков. Ведет видеокурс наш форумчанин kobzar. Профиль пользователя на сайте cxem.net. Там же финансовые реквизиты для тех, кто пожелает финансово отблагодарить автора данного видеокурса Подписка на YouTube канал Краткий обзор сред разработки для различных микроконтроллеров на сайте: http://cxem.net/software/soft_mcu.php Внимание начинающим! Перед тем, как задавать вопросы не по теме видеоуроков, прочитать: Статьи по МК для начинающих Книга по программированию микроконтроллеров AVR Также, здесь же на форуме рядом с этой темой смотрите прикрепленные темы: для начинающих, по языку Си и т.д. Все вопросы не по видеокурсу задавайте только там. С этой темы подобные вопросы удаляются Кракозябры вместо русских букв Ребята - спешу сообщить что найден метод борьбы с кракозябрами вместо русских символов, при работе с ЖК. Дело в том, что у некоторых из вас, проект создается в кодировке UTF-8, а наша библиотека работает только с ср1251 Фикс: 1.Открываем проект 2. File - Advanced Save Options 3. Вместо кодировки UTF-8 выбираем Cyrillic(Windows) - cp1251 Сохраняем, сохраняем проект - компилируем! Добавлено 12.01.16 : Изменённые версии библиотеки lcd_5110 : От COKPOWEHEU - Ссылка на пост , Ссылка на github
  5. Приобрел по случаю несколько данных модулей. По описанию продавца, "...принимaлa чeгo-то по 232 порту и выводила нa дисплей." Раньше встречался с подобными модулями (CE110, CE210: I2C контроллер ЖКИ и клавиатуры на PIC16F876), но там было подробное описание от производителя, а на этот нет никакой информации. Обратился к производителю, тот ответил: "This is other customer’s custom-made product item and we have signed DNA with other customer for this custom-made item. We are unable to sell this item and also provide any related information to you.", без комметариев. Будь устройство в сборе, можно было-бы поснифферить UART, а пока придется разбираться, что называется AS IS и, возможно, выяснять линии обмена с LCD и писать свою прошивку. Модуль пока не включал посмотрю, как он себя поведет после включения, и будет-ли активность на UART-е при нажатии кнопок и прозвоню доступные контрольные точки на плате, возможно это шина программирования, но уверен, что прошивка защищена. Возле 232-го чипа тоже 5 каких-то пинов. На сейчас два вопроса: 1. Самый очевидный и наиболее предсказуемый: может кто-нибудь имел дело с таким изделием? 2. Для выяснения распиновки шины LCD решил покупать себе логический анализатор, чтобы был свой, ибо фирменный теперь недоступен. Сейчас отложил 3: первые два: - https://aliexpress.ru/item/1005001621950241.html?spm=a2g2w.cart.cart_split.10.48ab4aa6xeZLT0&sku_id=12000016846593922&_ga=2.240102022.482015187.1700625783-1571267238.1700625783 - https://aliexpress.ru/item/1005006023889184.html?spm=a2g2w.cart.cart_split.8.48ab4aa6xeZLT0&sku_id=12000035368138955&_ga=2.16789308.482015187.1700625783-1571267238.1700625783 У второго комплектация побогаче, понятно, что он и подороже, но первый стОит 434р. с доставкой, но пока искал, обратил внимание, что подобные анализаторы, даже в минимальной комплектации, различаются по цене, иногда весьма значительно, например этот, вдвое дороже: https://aliexpress.ru/item/1005006199156574.html?sku_id=12000036235805994&spm=a2g2w.productlist.search_results.19.159e52bfzDsUdi они что, внутри по разному устроены? Или переплата за бренд? и еще один, с type-c и без корпуса: https://aliexpress.ru/item/1005005736923008.html?spm=a2g2w.cart.cart_split.5.48ab4aa6xeZLT0&sku_id=12000034162534598&_ga=2.117910540.482015187.1700625783-1571267238.1700625783 На первые два в сети приводятся фото внутренностей. Плата обильно усыпана SMD-элементами, а у этого плата почти голая, вот и возникают сомнения. Кто что посоветует?
  6. У меня тема: "Автоматическое управление режимом работы на активно-индуктивную нагрузку трехфазного мостового выпрямителя", работа проводится на стенде. Можете, пожалуйста, объяснить работу схемы и ее алгоритма?! Электрическая хема Электрическая схема (продолжение) Алгоритм автоматического управления По моему предмету "Микропроцессорные системы управления" в работе должен присутствовать микроконтроллер. Преподаватель объяснил, что микроконтроллер находится в коннекторе, но саму его работу не объяснил. Можете, пожалуйста, помочь разобраться со всем этим. Объяснить работу схемы, алгоритма и коннектора?! Или хотя бы часть из этого. В лучшем случае если вы мне объясните работу алгоритма и коннектора.
  7. Иногда возникают вопросы, ради которых создавать отдельную тему не имеет смысла, давайте задавать простые вопросы в этой теме (типа как "Вопросы от начинающих"). Первый вопрос: Чтобы сконфигурировать одно устройство необходимо загрузить в регистр некоторые данные, формат показан на картинке в прикреплении. Что такое MSB и LSB?
  8. zhevak

    CH32V003

    Чем программировать CH32V Смешной вопрос! Чем вообще программируются STM32? У кого достаточно финансовых возможностей, тот покупает дорогие фирменные программаторы. Я, как и многие другие разработчики, использую китайские «свистки» по 150 рублей. (Это они раньше столько стоили. Сколько стоят сейчас — я не знаю. Уже давно не покупал. Для работы с STM32 я всё ещё пользуюсь свистком, купленным лет пять назад.) Беда, однако, в том, что ST-Link не подходит для работы с CH32V. Ну, хорошо. А чем же тогда программировать эти китайские штучки? Чем-чем — дак, почти таким же китайским «свистком», название которому WCH-LinkE. Но я не стал заморачиваться только на «свисток», а прикупил полный набор — «свисток», отладочные платы и сами микросхемы. В «суповой» набор за полторы тысячи рублей (если быть более точным — за 1515,69) входят — собственно, сам «свисток», две отладочных платы (с CH32V003 и с CH32V203) и по пять штук тех и других микросхем. Причём, что интересно, всё это «бохацтво» пришло в довольно-таки приличной упаковке, а образцы микросхем — так вообще были упакованы в пластиковые коробочки на подобие из-под ювелирных изделий или из-под наручных часов. В общем, мелочь — а приятно! Программатор собран на базе микроконтроллера тоже RISC-V — CH32V305F8. (Характеристики этого микроконтроллера не смотрел, но думаю, что они будут повкуснее CH32V203.) У меня есть предположение, что такой программатор можно повторить. Но… какой в этом смысл? Дешевле китайского-то сделать всё равно не получится. Быстрее и проще купить ещё один, если этот сдохнет. <--- Я пока не совсем разобрался со спецификой блога. Я так и не понял, как публиковать в блоге другие свои статьи. Видимо, их нужно размещать здесь же. Это немного странно. Но по мере освоения, я приведу блог в нормальное состояние. Несколько последовательных по смыслу статей будут размещены на этом месте. <--- CH32V003. Формирование временнЫх интервалов Делать так, как описано в этой короткой статье, я бы не рекомендовал. Эта статья предназначена не ради готового примера для применения в каких-либо коммерческих программах, а ради "первой ступеньки" в освоении модуля таймера. Таймеры в STM32 и в CH32V по сравнению с другими микроконтроллерами (например, MSP430, ATMEGA и другими) сильно навороченные, и разобраться сходу, как с ними работать, -- довольно-таки трудно. По себе сужу. Документация в интернете в основном представлена на английском языке. На русском тоже есть, но есть один момент. Документации по таймерам конкретно для CH32V нет. Хотя таймеры в CH32V и STM32 очень похоже, но состав, названия регистров, названия битов по отношению к STM32 несколько различаются. Поэтому у разработчиков возникают определённые трудности, которые выливаются в затягивание сроков разработки программ. Представленный в статье пример помогает быстрее начать с таймером работать. В микроконтроллерах CH32V реализованы два таймера -- таймер общего назначения (General Purpose) TIM2 и продвинутый таймер (Advanced) TIM1. В примере используется таймер общего назначения TIM2, но представленный код пригоден и для продвинутого таймера TIM1. У таймера много функций, которые он может выполнять. Начать освоения таймера лучше с самой простой функции -- формирование временнЫх промежутков. Что это значит? Допустим, мы пишем программу, которая выполняет какие-то действия (например, измеряет температуру). Поскольку программа измеряет температуру значительно быстрее, чем температура обычно меняется, то измерять температуру каждую миллисекунду нет смысла. Допустим, что нам нужно измерять температуру с периодом один раз в секунду. Само же время измерения и время передачи полученного значения температуры во внешний мир (на LCD или по последовательному каналу в компьютер) составляет 10 мс. В этом случае главный цикл программы будет выглядеть как-то так: int main(void) { ... tim_init(); // Настраиваю таймер // Главный цикл программы while (1) { temperature = get_temperature(); // Измеряю температуру send_value(temperature); // Передаю показания wait(); // Жду секунду } } В функции tim_init() производится настройка таймера на формирование секундных промежутков времени, а функция wait() тупо останавливявает выполнение программы до начала следующего промежутка времени. Вот, эти-то функции мы сейчас и рассмотрим более подробно. Начнём с функции tim_init(). Перед тем как взаимодействовать с таймером нужно разрешить его работу, или другими словами подать на него тактирование. Это делается одной командой: RCC->APB1PCENR |= RCC_TIM2EN; // Включаю таймер Следующим шагом нужно настроить работу таймера. Допустим, что тактовая частота SysClock, на которой работает ядро микроконтроллера, равно 24 МГц, а предделитель для шины мы не используем (то есть тактовая частота шины APB1 тоже 24 МГц). Тогда оставшийся код инициализации таймера будет выглядеть так: TIM2->INTFR = 0; // Предочистка TIM2->PSC = 24000 - 1; // Входная частота таймера = 1 кГц TIM2->ATRLR = 1000; // Соответствует одной секунде TIM2->CTLR1 = TIM_CEN; // Запускаю таймер в работу У каждого таймера есть свой предделитель. Он делить входную частоту на заданное значение и потом подает её на счетчик таймера. В нашем случае мы записываем коэффициент деления 24000 в регистр предделителя (PSC). Это значит, что после предделителя частота, котораяубдет поступать на счётчик таймера, будет равна 1 кГц. У каждого счётчика так же имеется регистр автозагрузки. Работа этого регистра зависит от направления счёта счетчика -- увеличивает ли счетчик свое значение или же уменьшает. Значение из этого регистра либо загружается в счётчик каждый раз при достижении счётчиком нулевого значения, либо наоборот -- при достижении счётчиком значения, равного записанному в регистре PSC, счётчик обнуляется. В обоих случая счётчик формирует событие UIF, которое мы и будем отслеживать в функции wait(). Код функции wait() ещё проще: void wait(void) { while (!(TIM2->INTFR & TIM_UIF)) ; // Ожидаю поднятия флага UIF TIM2->INTFR = 0; // Сбрасываю флаг } Как можно понять из приведённого кода, функция тормозит выполнение программы до тех пор, пока не сработает таймер и не будет взведён флаг UIF. После этого происходит очистка этого флага и программа может продолжить своё выполнение. Еще раз отмечу, что не смотря на то, что программа, построенная по предложенному способу, будет вполне рабочей, делать так не надо. Код программы был приведён только в учебных целях. С чего-то же нужно начинать? CH32V003. Генератор временнЫх интервалов По жизни намного чаще, чем описанный в предыдущей статье формирователь задержки, требуется формирователь временнЫх отметок, или другими словами -- таймер. Таймер, в нашем контексте, -- это такая бестия, которая периодически с заданным интервалом прерывает выполнение основной программы. Будем работать с таймером TIM2. Ранее я уже говорил, что периферия CH32V и периферия STM32 сильно совпадают. И это есть хорошо! Но, как обычно, есть нюансы! Количество и состав регистров таймера TIM2 у CH32V и STM32 совпадает на 100 %, хотя названия регистров сильно расходятся. Например, регистр управления у STM32 называется CR1, в то время как у CH32V он носит имя CTLR1. Или, вот, ещё например, регистр генерации событий -- у STM32 он называется EGR, а у CH32V -- SWEVGR. Не знаю, зачем это было нужно делать китайцам, но по моему мнению они сделали неверный шаг. Что же касается названий битов в регистрах, то в документации (на STM32 и на CH32V) они совпадают полностью. Но одно дело pdf-ка и совсем другое дело хэдерные файлы. Не знаю, насколько это оказалось дурным, но в данном случае ход китайцев мне понравился. Например, бит разрешения работы таймера у STM32 называется длинно -- TIM_CR1_CEN, а у китайцев этот же бит называется проще -- TIM_CEN. Во всяком случае мне показалось, что писать наименования "китайских" битов легче. Сравните: TIM2->CR1 = TIM_CR1_CEN; // STM32 и TIM2->CTLR1 = TIM_CEN; // CH32V Однако, давайте вернёмся к теме нарезки времени на кусочки определённой длительности. Обработчик прерывания от таймера TIM2 должен выглядеть следующим образом: __attribute__((interrupt("WCH-Interrupt-fast"))) void TIM2_Handler(void) { TIM2->INTFR &= ~TIM_UIF; // Очистить флаг прерывания ... // Выполнить какую-то полезную работу } В отличие от программного кода для STM32 в программах для CH32V нужно обязательно перед объявлением обработчика прерывания добавлять строку: __attribute__((interrupt("WCH-Interrupt-fast"))) Ну и не забывайте, что один обработчик может обслуживать целую кучу родственных прерываний. Например, в этом обработчике обслуживается прерывание, которое возбуждается в следствие События Подновления таймера. Кроме этого прерывания таймер может возбуждать также прерывание при возникновении условия захвата, при возникновении условия сравнении. У каждого прерывания свой флаг, который нужно сбросить при входе в обработчик прерывания. Поэтому чтобы в обработчике прерывания реагировать на своё прерывание, а не пытаться обслужить родственное, нужно по правильному писать так: __attribute__((interrupt("WCH-Interrupt-fast"))) void TIM2_Handler(void) { if (((TIM2->DMAINTENR & TIM_UIE) != 0) && ((TIM2->INTFR & TIM_UIF) != 0)) { // Это прерываение разрешено и флаг прерывания поднят TIM2->INTFR &= ~TIM_UIF; // Очистить флаг прерывания ... // Выполнить какую-то полезную работу } ... // Обслужить другие прерывания от таймера } Но если в вашей программе используется только одно прерывание (как в нашем примере), то такую проверку можно и не выполнять. С прерыванием разобрались. Теперь нужно написать код, который правильно настроит (инициализирует) таймер TIM2. Этот код выглядит так: void init_tim2(void) { RCC->APB1PCENR |= RCC_TIM2EN; // Включаю тактирование модуля таймера NVIC_EnableIRQ(TIM2_IRQn); // Разрешаю прерывания от таймера TIM2 TIM2->PSC = 24000 - 1; // Предделитель, тактовая частота счётчика 1 кГц TIM2->ATRLR = 50; // Интервал перываний 50 мс TIM2->INTFR = 0; // Сбрасываю все флаги TIM2->DMAINTENR = TIM_UIE; // Разрешаю прерывание по событию "Подновление таймера" TIM2->CTLR1 = TIM_CEN; // И наконец разрешаю работу таймера TIM2 } В результате мы получили программу, которая 20 раз в секунду прерывает работу основного цикла программы. Как видите, писать программу для CH32V не сложнее, чем для STM32.
  9. Здравствуйте, форумчане! Помогите пожалуйста с решением следующей задачи: На базе Атмега 8 нужно сделать штуку с таким функционалом: Дано -Атмега, три светодиода (через резистор), одна кнопка. Требуется: 1) при включении загорается Первый диод на 3 секунды и гаснет. Микроконтроллер ждет нажатия кнопки. 2) нажимаем на кнопку - загорается Второй диод на 1.5 секунды и гаснет. Ожидание следующего нажатия. 3) нажимаем на кнопку - загорается Третий диод на 1.5 секунды и гаснет. Ожидание следующего нажатия. 4) нажимаем на кнопку - Первый диод загорается на 3 секунды и гаснет. Таким образом цикл должен замкнуться и все повторится по алгоритму с начала. Сфера программирования не совсем моя стихия. Но так вышло, что мне повстречалась такая задача, которую я не могу победить. Пытался честно смотреть материал, искать, качать, пробовать. Что-то похожее нашел, но не то. Видоизменил скачанный файл прошивки - но там при нажатии кнопки диоды горят постоянно. Файл прикреплю. Люди добрые! Помогите кто чем может! Всем заранее спасибо! Всем добра! Код1.txt kn2-proteus.pdsprj
  10. Приветствую уважаемые Форумчане! Появилась необходимость испытания ВМГ на стенде, прогонять буду достаточно мощные движки от беспилотников самолетного типа. Как понимаю, нужно подключить лабораторник на 100 А минимум, что б соответствовать параметрам аккумуляторов, цена на нихв районе 100 к и перед покупкой нужно уточнить, а на правильном ли я пути, возможно ли это вообще, заменить аккумулятор блоком питания. Прошу конструктивных ответов. Спасибо!
  11. Добрый день. Есть интересные модули ибп для слаботочки до 1А. m.aliexpress.ru/item/4000109380893.html По цене идеально подходит для зоопарка роутеров, IoT устройств... Переключение на резерв (туда-обратно) без просадки. Зарядка литиевой банки как положено, всякие защиты от перегрузки и прочее. Казалось бы все замечательно. НО как всегда не без ложки дёгтя. Защита от переразрядки работает неадекватно. Хотя возможно это не сама защита, а повышающий модуль. На пороге ~3в у него срабатывает циклический перезапуск и так пока банка не просядет ниже 3в. Точно померять нечем. Из наблюдений. Проверил напряжение переключается с 12в на 9в и щелчки. Естественно нагрузка в это время дико насилуется (роутер свистит минут 5 пока полностю не отключится) Вопрос к гуру. Возможно ли что-то доработать в даном модуле чтобы исправить этот досадный баг?
  12. Здравствуйте решил сделать на стол посветку ,раскинул провода , запаял ленту , соединил , подключил проверить к контроллеру 1 - работает , всё аккуратной уложил и приклеил , контроллер 1 подключил к потолку (там тоже светодиодная лента ) , а контроллер 2 подключил к столу и он не работает , мерцает , одна полоска даже просто горит белым , вскрыл проверить контроллеры целые , но разные по составу
  13. Помогите пожалуйста разобраться начинающему радиолюбителю. В нете информации не нашел. Если у меня сгорел микроконтроллер, и я хочу его поменять, то заказать такой же на Али и поставить не получится, потому что нужна прошивка. А ее найти практически невозможно в свободном доступе. Но, можно использовать платы доноры, где стоит такой же микроконтроллер, и тогда все может заработать. Когда я смотрю разные видео на ютуб, то вижу как мастера некоторые контроллеры берут с доноров, а некоторые ставят новые, и никак их не прошивают. Вопрос в следующем: как понять, какие микрухи можно просто купить новую и поставить, а с какими так не прокатит, и нужны только доноры или прошивка.
  14. Здравствуйте, подскажите пожалуйста, как подключить дисплей к микроконтроллеру посредством каскада сдвиговых регистров?
  15. Доброво времени суток, подскажите,пожалуйста,как мне меняя значение переменной "а" задавать длительность задержки. При выполнении компилирования выдаётся следующая ошибка.
  16. На плите не светиться никакой индикации, при включении в розетку на секунду включается вентилятор, пьезоизлучатель издает одиночный писк, и слышно тыхую работу пьезоизлучателя. Там две конфорки, по две платы на каждую катушку. плата индикации и силовая. На одной по своей неопытности и неосторожности спалил микросхемы, одну на плате индикации TM1228 другую на силовой плате highway15-16c. Есть ли в контроллере индикатора прошивка, если да, то как её считать и записать. И что это за мкросхема highway15-16c микроконтроллер? Если да, то чем и как считать дамп + прошить новую? И всё же какая неисправность может быть?
  17. Попросили починить такую животину. Трепанация черепа, обнажает такие мозги При включении признаков жизни не подаёт, потребляет 6 - 10 мА. при напряжении 6В. Со стабилизатора U1, выходит 3.3 В. и успешно расходится по микросхемам. Обвес вроде жив, прозвонил по-быстрому без выпаивания. От темы далёк, но узнаю флэш с прошивкой и драйвер двигателей. Может кто ванганёт, что за контроллер - процессор стоит в середине платы? И распишет широкими мазками принцип диагностики. Приборов всяких есть у меня.) Буду признателен. Спасибо, что прочли.)
  18. Всем привет). Может, кому-то эта статья сэкономит много времени и нервов. Недавно по работе встретился с интересной задачкой. Нужно было передать на железку по порту RS485 информацию для проверки работоспособности последней. Так как не всегда имеется в ремонте вся система, то для начала нужно было посмотреть, на заведомо исправной системе, что же там между ними (железками) передаётся. Логический анализатор показал что девайсы общаются по не совсем стандартному, а по 9ти битному протоколу (USART 9n1). А это усложняло задачу, так-так известные мне терминальные программы его не поддерживают. И без бубна не обойтись))). Начались поиски решения. Через некоторое время стало понятно, что AVR позволяет это делать и даже в даташите подробно это описывает. Дело за малым. Реализация задуманного))). Все регистры выставлены по документу………..Для Atmega8a. void USART_Init( unsigned int speed) //Инициализация модуля USART { UBRRH = (unsigned char)(speed>>8); UBRRL = (unsigned char)speed; UCSRB=(1<<RXEN)|( 1<<TXEN); //Включаем прием и передачу по USART UCSRB |= (1<<RXCIE); //Разрешаем прерывание при передаче UCSRA |= (1<<U2X); //удвоение скорости UCSRC = (1<<URSEL)|(1<<USBS)|(1<<UCSZ1)|(1<<UCSZ0); UCSRB |= (1<<UCSZ2); // Включаем 9bit режим // Обращаемся именно к регистру UCSRC (URSEL=1) // ассинхронный режим (UMSEL=0), без контроля четности (UPM1=0 и UPM0=0) // 1 стоп-бит (USBS=0), 8-бит посылка (UCSZ1=1 и UCSZ0=1) // если (UCSZ1=1 и UCSZ0=1 и UCSZ2=1) 9bit mode. // UCSRC |= (1<<UPM1);//четность } По даташиту передача 9го бита происходит установкой или сбросом TXB8. То есть, установили бит, передаётся 1 в старшем 9ом разряде, сбросили – 0. void USART_Transmit( unsigned int data ) // функция передачи 9ти бит из даташита. { /* Wait for empty transmit buffer */ while ( !( UCSRA & (1<<UDRE)) ) ; /* Copy ninth bit to TXB8 */ UCSRB &= ~(1<<TXB8); if ( data & 0x0100 ) //не понял, что они хотели этим сделать. UCSRB |= (1<<TXB8); /* Put data into buffer, sends the data */ UDR = data; } И вот незадача, числа размером до 1 байт передаются без проблем, а числа больше 0xFF (255) нет). А устройство передаёт числа до 510. Предлагаю решение. Может и не самое лучшее, но вполне работоспособное. int main(void) { USART_Init (103);//9600 //------------------------------------------------------------------------------------ while(1) { for (i=0; i<22; i++) { code_simbol = simbol[i]; //символ из массива //-------------------------------------отправка в UART-------------------------------- if (code_simbol > 255) { pr=1; // флаг передачи символа больше 0xff (255 десятичное) } else { pr=0; // флаг передачи символа меньше 0xff } USART_Transmit(code_simbol,pr);//собственно сама функция отаравки } } } А теперь и сама функция передачи . void USART_Transmit( unsigned char data, uint8_t prisnak ) //Функция отправки по USART { while ( !(UCSRA & (1<<UDRE)) ); //Ожидание опустошения буфера приема if (prisnak==1) { UCSRB |= (1<<TXB8); //устанавливаем для передачи еденицы в старшем разряде } else { UCSRB &= ~(1<<TXB8); //сбрасываем старший разряд } /* Put data into buffer, sends the data */ UDR = data; //Начало передачи данных asm volatile ("nop"); Соответственно если число для предачи мньше 256 мы передаём его при нулевом 9ом бите. Ну а если больше то 9й бит выставляем в единицу. А вот и результат.
  19. Микроконтроллер с помощью ШИМ 3.3 В управляет напрямую полевиком, до этого схема работала хорошо! Сейчас начались какие-то танцы с бубном. На осциллограмме почему-то плывет задний фронт на транзисторе сток-исток и шумы. На фото осциллограммы при ШИМ 10 и 20%. Стоит задача сделать фронты максимально идеальными и убрать шумы.
  20. Требуется диммировать линию светодиодных светильников. 1. Офисные - по протоколу DALI - управление группой светильников. 2. Уличные - по PLC (X10) - длина линий превышает допустимые значения для DALI Необходимо: - подобрать комплектующие для модуля (общение через Modbus) - проверить работу с контроллером - произвести настройку контроллера
  21. Проявление неисправности: полное молчание, никакой реакции... Нигде ничего об этом пульте нет, хотя... на али экспрессе есть такой пульт, ну и цена тоже есть....
  22. Проблема: нет соединения МК с программатором. Описание: Программатор USBasp 2.0, подключаю к компу, дрова, все отлично распознаётся, горит ярко светодиод на usbasp. -Если выставить 5в. (перемычкой) и подключить МК, вырубает программатор и гаснет светодиод. -Если выставить 3.3в(перемычкой) и подключить МК, программатор работает, светодиод горит тускло, напряжение до МК доходит примерно в 0.5в, Attiny13 он не видит. -Если подключить без МК, светодиод горит ярко, компьютер его видит. Я обчитался кучу тем, форумов, у многих есть похожие проблему,но решение я так и не увидел, сделал множество действий: промыл плату, просмотрел всё ли пропаяно,купил еще один программатор (такой же в другом месте), проверил 10 раз соединение, прозвонил все, провода укоротил (сделал меньше 10см) все напрямую к МК, соплей ужасных нет,попробовал разных чуваков и др.софтов, все тоже самое- ошибка при чтении МК... P.s. это что то похожее на кз! Кз в МК?как проверить ее на работоспособность? Может какими то диодами? Как понять капут ей или нет? Я слаб в этом...создаю новую тему чтобы решить вопрос раз и навсегда! В ближайшее время постараюсь купить камень и рассказать вам результат, а вы подкиньте дельных советов. Взаранее спасибо!если нужны фотки, схемы, я все прикреплю...
×
×
  • Create New...