• IoT. Много стандартов беспроводной связи?

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

    Читать далее...
  • FLATCAM.Базовые понятия

    FlatCAM: Free and Open-source PCB CAM Фрезерование печатных плат, также известное как механическое травление, на сегодняшний день является самым быстрым, чистым, высокопроизводительным и экономичным процессом прототипирования печатных плат. FlatCAM позволяет перенести ваши проекты на фрезерный станок с ЧПУ. Вы можете открыть Gerber, Excellon или G-код, отредактировать его или создать из

    Читать далее...
  • ID3. Версии 1.0 и 1.1

    Тег находиться в конце файла, имеет фиксированный размер 128 байт. Неиспользуемые байты заполняются нулями. Структура ID3 версии 1.0 : Дальнейшее и единственное усовершенствование, реализованное в версии 1.1, было предложено Майклом Мутшлером (Michael Mutschler) в 1997 году: так как поле под комментарий всё равно слишком мало для хранения чего-либо полезного, было

    Читать далее...
  • KEIL. Диалог Debug. Pack Options (параметры пакета)

    Параметры пакета (доступны для некоторых устройств) определяют параметры конфигурации по умолчанию для отладки, трассировки или программирования Flash и применяются к параметрам в диалоговых окнах «Debug», «Trace» и «Flash download». Возможно, не все параметры будут установлены. Следовательно, проверьте настройки и адаптируйте конфигурацию при необходимости.   Чтобы включить настройки: Откройте диалог Options

    Читать далее...
  • KEIL. System and Thread Viewer

    Окно System and Thread Viewer показывает информацию о состоянии системы и запущенные потоки для CMSIS RTOS RTX приложений.  System and Thread Viewer поддерживается только Keil RTX 4.82 или младше. Для отображения в  Keil RTX 5, используйте Component Viewer (View — Watch Window — RTX RTOS)     Откройте окно через  Debug

    Читать далее...
  • F4.FLASH Стирание сектора

    Выполним очистку 11 сектора. Для этого разблокируем FLASH выполнив последовательно запись ключей в поле KEYR: FLASH->KEYR = 0x45670123; FLASH->KEYR = 0xCDEF89AB; Бит LOCK в регистре CR должен очиститься, значит регистр разблокирован. Если бит LOCK останется в случае неудачной разблокировки, снять его уже не получиться и потребуется выполнить сброс микроконтроллера. Установим

    Читать далее...
  • F4.DMA Режим передачи ПАМЯТЬ-ПАМЯТЬ

    Для передачи из памяти в память используется DMA2 контроллер. DMA1 не может использоваться потому что периферийный порт не подключен к шинной матрице AHB (мануал RM0090 страница 305). Включаем тактирование DMA2: RCC->AHB1ENR  |= RCC_AHB1ENR_DMA2EN; Теперь нужно настроить поток для передачи. Любой свободный из 8 можно использовать. Выберем DMA2_Stream6 и настроим конфигурационный

    Читать далее...
  • RTX5. Ядро (информация и управление)

    Описание Группа функций информации и управления ядром позволяет: получить информацию о системе и ядре. получить информацию о версии интерфейса CMSIS-RTOS. инициализация ядра RTOS для создания объектов. запуск ядра RTOS и переключение потоков.   Функции информации и управления ядром не могут быть вызваны из подпрограмм обработки прерываний. Инициализация ядра для RTX5

    Читать далее...
  • RTX5. Управление памятью

    CMSIS-RTOS API v2 предлагает два варианта управления памятью, которые может выбрать пользователь. Для хранения объектов можно использовать Автоматическое динамическое распределение памяти (полностью переносимое), или Ручное пользовательское распределение памяти (зависит от конкретной реализации). Для того, чтобы повлиять на распределение памяти, все объекты RTOS, которые могут быть созданы по запросу, то есть

    Читать далее...
  • RTX5. Общие концепции дизайна обьектов

    Все объекты RTOS имеют общую концепцию дизайна. Общий жизненный цикл объекта можно суммировать как создание -> использование -> удаление. Создание  обьекта Объект создается путем вызова его функции osXxxNew. Новая функция возвращает идентификатор, который можно использовать для работы с новым объектом. Актуальное состояние объекта обычно хранится в специфичном для объекта блоке

    Читать далее...