Не так давно я столкнулся с проблемой: структуры, полученные от устройства через USB-VCOM, содержали не те данные, которые я ожидал. Размер структуры в программе на Qt отличался от размера встроенной программы, скомпилированной в Keil uVision. Соответственно, доступ к членам структуры, а особенно к битовым полям оказывался некорректным.
Читать далее Проблемы упакованных структурМакет повторителя CAN
Как-то раз была задача реализовать гальваническую развязку шины CAN. Проблема заключалась в том, что сигнал на шине дифференциальный и просто пропустить его через оптрон нельзя. Помимо этого, если соединить два приемопередатчика между собой, произойдет зацикливание обмена на шине.
Читать далее Макет повторителя CANО развязке питания в примерах
Первичная настройка печатной платы в Altium Designer
- Настройка стека слоев;
- Настройка правил проектирования;
- Настройка пар механических слоев Top Assy (M13) — Bottom Assy (M14) и Top
- Cortyard (M15) — Bottom Cortyard (M16);
- Настройка предпочитаемых толщин линий и диаметров переходных отверстий.
Проверки топологии печатной платы
При расстановке элементов необходимо учитывать не только удобство топологического проектирования, но также удобство и возможность отладки платы после изготовления. Чтобы не нужно было при проверке одного участка схемы постоянно вертеть плату.
- Подключение внутренних полигонов;
- Наличие маски переходных отверстий;
- Наличие всех элементов;
- Оптимизация линий;
- Полигоны на Top и Bottom над соответствующими землями;
- Все полигоны залиты;
- Сетчатые полигоны на внутренних слоях гибко-жестких плат;
- Расстановка шелкографии;
- Наличие строки с номером модуля и печатной платы;
- Тестовые точки и площадки;
- Справочные надписи шелкографией;
- Выполняется проверка Design Rule Check;
- Для автоматического монтажа по длинному краю плату (панели) поля минимум по 5 мм;
- Реперные точки.
Серии ТТЛ-микросхем
Краткое описание серий отечественных и зарубежных серий логических ТТЛ-микросхем.
Читать далее Серии ТТЛ-микросхемstartup.s для Cortex-M в ARM компиляторе
Попытаюсь разобраться со структурой стартового файла startup.s
для процессоров Cortex-M в среде Keil MDK-ARM и понять, как запускается процессор, на примере файла инициализации для отечественных процессоров 1986ВЕ1Т, которые являются аналогом ядра Cortex-M1.