Форум программистов, компьютерный форум, киберфорум
Embitz
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
Старый
STM32F103C6T6 - симуляция в протеусе
Запись от locm размещена 15.04.2018 в 17:11
Показов 63994 Комментарии 5

Некоторое время назад в протеус (Proteus) добавили модели микроконтроллеров STM32. Пока правда их доступно не много (несколько из серии STM32F103) и как показало тестирование, в моделях присутствуют ошибки из-за которых при работе с некоторой периферией, в процессе симуляции происходило несколько тысяч ошибок подобных этой.
Access to register of unclocked peripheral at 0x40011004 cause BUS_FAULT [U1_CM3CORE]
Для тестирования модели протеуса, был соответствующим...
Миниатюры
Нажмите на изображение для увеличения
Название: Proteus.png
Просмотров: 3830
Размер:	26.9 Кб
ID:	4756  
Вложения
Тип файла: 7z STM32F103C6T6_Led_Proteus.7z (223.5 Кб, 3811 просмотров)
Старый
STM32F103C8T6, FreeRTOS - ошибка vTaskSwitchContext
Запись от locm размещена 16.03.2018 в 22:50
Показов 4778 Комментарии 0

При сборке проекта содержащего FreeRTOS компилятором GCC с активной опцией "Link-time optimization" появляется ошибка undefined reference to `vTaskSwitchContext' в функции xPortPendSVHandler файла port.c.
Код функции.
Кликните здесь для просмотра всего текста
C Скопировано
1
2
3
4
5
6
7
8
9
10
void xPortPendSVHandler(void)
{
    /* This is a naked function. */
 
    __asm volatile
    (
    "   mrs r0, psp                         \n"
    "   isb                                 \n"
    "                                       \n"
    "   ldr r3, pxCurrentTCBConst
...
Вложения
Тип файла: 7z FreeRTOS_10.0.1_Blink.7z (295.2 Кб, 286 просмотров)
Старый
STM32F103C8T6 - Аппаратная динамическая индикация
Запись от locm размещена 08.03.2018 в 17:57
Показов 13445 Комментарии 0
Метки dma, embitz, gpio, stm32

Один из вариантов реализации динамической индикации, осуществляемый периферией микроконтроллера, без непосредственного участия процессора. Использован ранее рассмотренный метод записи в порт массива данных через DMA, по событиям таймера.
В архиве два примера. Первый отображает на индикаторе число 1234.
C Скопировано
1
2
3
4
5
6
#include "stm32f10x_conf.h"
 
extern uint32_t SystemCoreClock;
volatile uint32_t DmaBuff[4];
 
const uint16_t LedPin = GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5
...
Миниатюры
Нажмите на изображение для увеличения
Название: Схема.png
Просмотров: 1208
Размер:	15.7 Кб
ID:	4720  
Вложения
Тип файла: 7z STM32F103C8T6_Led.7z (196.8 Кб, 624 просмотров)
Старый
Рейтинг: 5.00. Голосов: 2.
STM32F103C8T6 - Timer DMA GPIO
Запись от locm размещена 06.03.2018 в 23:58
Показов 21428 Комментарии 5
Метки dma, embitz, gpio, stm32

У модуля DMA довольно простая задача - копировать данные из одного места в другое с заданными настройками. Запустить копирование можно несколькими способами, как программно, так и аппаратно событием от периферии. Сейчас пойдет речь о запуске DMA по событию от таймера. Для примера сделаем полностью аппаратную "мигалку светодиодом" подключенную к порту PC13.
Код.
C Скопировано
1
2
3
4
#include "stm32f10x_conf.h"
 
extern uint32_t SystemCoreClock;
volatile uint16_t DmaBuff[2]
...
Миниатюры
Нажмите на изображение для увеличения
Название: STM32F103C8T6.jpg
Просмотров: 1391
Размер:	58.9 Кб
ID:	4715  
Вложения
Тип файла: 7z STM32F103C8T6_DMA_GPIO.7z (197.2 Кб, 644 просмотров)
Новые блоги и статьи
Работа с объемным DOM в javascript
Htext 04.04.2025
Сегодня прочитал статью тут о расходах памяти в JS, ее утечках и т. п. И вот что вспомнил из своей недавней практики. Может, кому пригодится. Хотя, в той статье об этом тоже есть. Дело в том, что я. . .
Оптимизация производительности Node.js с помощью кластеризации
run.dev 04.04.2025
Масштабирование приложений для обработки тысяч и миллионов запросов — обыденная задача для многих команд. Node. js, благодаря своей асинхронной событийно-ориентированной архитектуре, стал популярной. . .
Управление зависимостями в Python с Poetry
py-thonny 04.04.2025
Стандартный инструмент для установки пакетов в Python - pip - прекрасно справляется с базовыми сценариями: установил пакет командой pip install и используешь его. Но что произойдёт, когда разные. . .
Мониторинг с Prometheus в PHP
Jason-Webb 04.04.2025
Prometheus выделяется среди других систем мониторинга своим подходом к сбору и хранению метрик. В отличие от New Relic, который использует агентный подход и отправляет данные во внешнее хранилище,. . .
Пакет Context в Golang: Управление потоками и ресурсами
golander 04.04.2025
Работа с горутинами в Go часто напоминает управление непослушными детьми - они разбегаются кто куда, делают что хотят и не всегда завершаются вовремя. К счастью, в Go 1. 7 появился пакет context,. . .
Контейнеризация React приложений с Docker
Reangularity 03.04.2025
Контейнеризация позволяет упаковать приложение со всеми его зависимостями в автономный контейнер, который можно запустить на любой платформе с установленным Docker. Это существенно упрощает процессы. . .
Свой попап в SwiftUI
mobDevWorks 03.04.2025
SwiftUI, как декларативный фреймворк от Apple, предоставляет множество инструментов для создания пользовательских интерфейсов. В нашем распоряжении есть такие API как alerts, popovers, action sheets. . .
Антипаттерны микросервисной архитектуры
ArchitectMsa 03.04.2025
Хорошо спроектированная микросервисная система может выдержать испытание временем, оставаясь гибкой, масштабируемой и устойчивой к большинству проблем. Такая архитектура обладает высоким уровнем. . .
std::mutex в C++: Советы и примеры использования
bytestream 03.04.2025
std::mutex - это механизм взаимного исключения, который гарантирует, что критический участок кода выполняется только одним потоком в каждый момент времени. Это простое, но могущественное средство. . .
Не удержался от оценки концепции двигателя Стирлинга.
Hrethgir 03.04.2025
Сколько не пытался - она выдавала правильные схемы, причём случайно рисовала горячие области в середине, холодные по краям, трубки с краёв в низ и магнит в соединяющей, но при этой выдавала описание. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер