Форум программистов, компьютерный форум, киберфорум
locm
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
Старый
STM32F103C6T6 - симуляция в протеусе
Запись от locm размещена 15.04.2018 в 17:11
Показов 63975 Комментарии 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
Показов 21416 Комментарии 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 Кб, 640 просмотров)
Старый
Рейтинг: 5.00. Голосов: 6.
USB барометр
Запись от locm размещена 25.02.2015 в 00:18
Показов 25024 Комментарии 8

Сейчас мы рассмотрим как сделать USB барометр своими руками. Для этого понадобится, один из перечисленных микроконтроллеров: ATmega8, ATmega88, ATmega168 или ATmega328, а также цифровой датчик атмосферного давления BMP085 или BMP180, который кстати, также может измерять температуру, ведь в нем встроен датчик температуры, необходимый для термокомпенсации показаний атмосферного давления.

Схема устройства.

Нажмите на изображение для увеличения
Название: Схема.GIF
Просмотров: 1637
Размер:	10.1 Кб
ID:	3044

Чтобы упростить...
Миниатюры
Нажмите на изображение для увеличения
Название: ConfigMK.PNG
Просмотров: 1255
Размер:	7.5 Кб
ID:	3055  
Изображения
   
Вложения
Тип файла: zip Barometr.zip (88.5 Кб, 808 просмотров)
Старый
Рейтинг: 5.00. Голосов: 1.
Пишем драйвер на PureBasic
Запись от locm размещена 26.12.2014 в 21:46
Показов 12991 Комментарии 0

Обычно драйверы для Windows пишут на языке C++, возможно потому что DDK фирма Майкрософт предоставила именно для этого языка. Но энтузиасты портировали DKK для других языков. Сейчас мы поговорим о создании драйверов на языке бейсик, который на первый взгляд не подходит для этого (хотя бы потому что бейсик считается...
Миниатюры
Нажмите на изображение для увеличения
Название: Compile.PNG
Просмотров: 844
Размер:	23.0 Кб
ID:	2934   Нажмите на изображение для увеличения
Название: PE_Explorer_Import_1.PNG
Просмотров: 814
Размер:	3.8 Кб
ID:	2937   Нажмите на изображение для увеличения
Название: PE_Explorer_Import_2.PNG
Просмотров: 786
Размер:	4.5 Кб
ID:	2938  

Нажмите на изображение для увеличения
Название: TestDriver.PNG
Просмотров: 1023
Размер:	19.9 Кб
ID:	2939   Нажмите на изображение для увеличения
Название: TestDriver_2.PNG
Просмотров: 957
Размер:	19.4 Кб
ID:	2940   Нажмите на изображение для увеличения
Название: LinkedList.PNG
Просмотров: 737
Размер:	20.7 Кб
ID:	2942  

Вложения
Тип файла: zip PB_5.11_x86_DriverPack_v2.2.zip (1.11 Мб, 459 просмотров)
Новые блоги и статьи
Контейнеризация 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
Сколько не пытался - она выдавала правильные схемы, причём случайно рисовала горячие области в середине, холодные по краям, трубки с краёв в низ и магнит в соединяющей, но при этой выдавала описание. . .
Метод с двумя буферами (или double buffering) или ping-pong buffering
Hrethgir 02.04.2025
Из ответов LM модели. Метод, который предполагает использование двух массивов для хранения промежуточных результатов сложения векторов, обычно применяется в сценариях, где необходимо минимизировать. . .
На любовном киберфронте
Alexander-7 01.04.2025
Недавно на одном малоизвестном сайте знакомств мною заинтересовалась девушка: «Текст немного странный. Но, судя по адресу почты, иностранка», – подумал я. Поколебавшись пару суток, я ответил ей:. . .
Как работает Node.js изнутри
run.dev 29.03.2025
Node. js изменил подход к разработке веб-приложений, позволив использовать JavaScript не только на стороне клиента, но и на сервере. Созданный в 2009 году Райаном Далем, этот открытый,. . .
Моки в Python: Mock Object Library
py-thonny 29.03.2025
Тестирование кода требует особого подхода, когда речь идёт о компонентах, взаимодействующих с внешним миром. Мы часто сталкиваемся с непредсказуемостью HTTP-запросов, чтением данных из базы или. . .
JavaScript: Управление памятью и улучшение производительности
run.dev 29.03.2025
В отличие от низкоуровневых языков программирования, JavaScript не требует ручного выделения и освобождения памяти. Здесь работает автоматический сборщик мусора, который определяет, какие объекты. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер