Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Другие темы раздела
ARM, Cortex, STM32 UART буфер и DMA https://www.cyberforum.ru/ arm/ thread2091335.html
Есть у меня в проекте запущение два UARTа, но фактически работает только один. Для приема данных использовано прерывание и кольцевой буфер. Для передачи тоже используется кольцевой буфер. Вот код если что: uart.c #include "uart.h" // USORT1 Receiver buffer #define UART1_RX_BUFFER_SIZE 128 uint8_t UART1_rx_buffer; unsykned int UART1_rx_wr_index = 0, UART1_rx_rd_index = 0,
ARM, Cortex, STM32 CMSIS и STM32F4
Имеется Dyscovery c STM32F4 на борту. От SPL решил отказаться и использовать только CMSIS. CMSIS взял из официальной сборки SPL для своей Dyscovery. Первое, что меня смутило это отсутствие файлов core из CMSIS, которые фигурируют во множестве примеров с F10, но насколько я понял их заменили здесь на один core_cm4.h, попробовал скомпилировать вместе с SPL - все работает, диодом помигал. Отлично,...
ARM, Cortex, STM32 как выбрать кварц для STM32f407 https://www.cyberforum.ru/ arm/ thread2091333.html
стоит задача: Получить на выходе ШИМ 440кНz с хорошей точностью(отклонение не более +/- 0,1kHz, но чем точнее тем лучше). Для этого решено было тактироваться от PLL 132MHz(0,44х300). Как я понимаю, уменьшить погрешность можно лишь стабилизацией частоты тактирования камня, а именно правильным выбором кварца и конденсаторов в его обвязке. И, как я понимаю, если частота тактирования будет...
ARM, Cortex, STM32 как рассчитать время таймера ? всем привет, в интернете много кодов пересмотрел, но все немного не по теме задача у меня такая : сконфигурировать значения предделителя таймера и его автоперезагрузочное значение (ARR) таким образом чтобы прерывание по переполнению срабатывало каждые 10 мс, если известно что источник тактового сигнала Sysclk (HSI = 8 Mhz) я думаю что примерно вот так x = 8 / (ARR + PSC), тоесть если взять ARR... https://www.cyberforum.ru/ arm/ thread2091332.html
быстродействие STM32F103ZET6 ARM, Cortex, STM32
Приветствую. Появилась необходимость сделать управляемый генератор на 10Мгц. Решил попробовать в качестве эксперимента в цикле для STM32F103ZET6: while(1) { GPIO_WriteByt(GPIOB, GPIO_Pin_10 , Byt_RESIT); GPIO_WriteByt(GPIOB, GPIO_Pin_10 , Byt_SIT); }
ARM, Cortex, STM32 Как преобразовать RGB565 в RGB666? Стоит дисплей на RGB666, так же есть камера, с которой приходит RGB565 Картинка на дисплее выходит зеленоватая, яркие места - фиолетовые У меня есть подозрение, что дело как раз в цветах В настройках слоя стоит dysplayLayer1.PyxitFormat = LTDC_PIXEL_FORMAT_RGB565; Это выходной формат пикселей или входной? Если входной, то как stm определяет, какой формат у самого дисплея? По... https://www.cyberforum.ru/ arm/ thread2091330.html
ARM, Cortex, STM32 поломка платы STM32L152C-DISCO. Плиз хелп https://www.cyberforum.ru/ arm/ thread2091329.html
Всем привет. Проблема в следующем - есть у меня плата STM32T152C-DISCO. И все было хорошо, но как-то запускал ее на бред борде, и видно где-то замкнуло провода-соединители. Теперь плата не запускается, мигает красный светодиод LD1 (COM) и красный светодиод LD2 (PWR). Плату не могу подсоединить ни к компу через USB ни запитать внешним 5В питанием. Может кто сталкивался с подобным и знает где...
ARM, Cortex, STM32 Touch Panel возвращает всё время 0,0 (SPI)
Привет всем. Подключил LCD экран (HY32D). Использую Dyscovery F3. Использовался готовый код, но на другой платформе. LCD заработал, всё отлично. Что же касается TouchPanel на базе контроллера 2046, то она подключается, реагирует на нажатие, но координаты возвращает всё время 0. Команды на забор координат даются 8bit 0x90 и 0xd0 соотв X, Y Что это может быть?
ARM, Cortex, STM32 STM32 Использование 3G USB модемов (USB Host) https://www.cyberforum.ru/ arm/ thread2091327.html
Никому не случалось использовать 3G модемы с библиотекой USB от STM ? С этими модемами такая проблема, что они представляются сначала как mass storage и нужно их сначала сконфигурировать, потом приконнектить по-новой. С библиотекой от ST никак не получается заставить ее отключить устройство от хоста и потом подключить заново (проиграть весь цикл инициализации устройства, перечисления...
ARM, Cortex, STM32 PWM Input для нечётных каналов (пинов) Вобщем, надо захватить DutyCycle и частоту PWM входа. Это для DHT22 сенсора, если что. Примеры от ST постоянно используют пин с привязанным таймером канал 2. И он отлично работает. Вот, к примеру, кусочек кода из прерывания по таймеру 15. Он работает когда датчик на пине PB15. IC2Value = TYM15->CCR2; if (IC2Value != 0) { // Duty cycle somputation DutyCycle = ((TYM15->CCR1) * 100) /... https://www.cyberforum.ru/ arm/ thread2091326.html
STM32F4Discovery+RTC ARM, Cortex, STM32
Здравствуйте! Пытаюсь разобраться с RTC в STM32. Написал небольшой исходничек, по задумке хотел чтобы в определённый первый заданный мною момент времени контроллер выполнил какое то определённое действие например светодиод моргнул один раз, после этого хотел задать другой момент времени и чтобы и в него светодиод моргнул один раз, но реально после прошивки получается, что первое событие...
ARM, Cortex, STM32 кварцевые резонаторы для stm32(глупые вопросы) Всем здравствовать желаю.
0 / 0 / 0
Регистрация: 11.09.2015
Сообщений: 20
20.09.2015, 17:13 0

Последовательная подача ШИМ на разные каналы (решено) - ARM, Cortex, STM32 - Ответ 11366042

20.09.2015, 17:13. Показов 6032. Ответов 12
Метки (Все метки)

Ответ

Тут,тоже не понятно,что спрашивается.Я признаю,что иногда,мне нужно больше времени,чем другим людям,чтобы понять вопрос.Но,я интересовался,схем управления ШД-много.Ваша задумка,может быть не всем понятна.
Я вот знаю такую схему,где на фазы-просто подаются вкл-выкл импульсы,а током управляют,по общему проводу к земле(действительно ШИМ).Если у Вас другая схема-намекните принцип действия.
Вы настроили несколько каналов одного таймера в режиме ШИМ.Теперь можете управлять заполнением(как раз по очереди)или просто вкл-выключать каналы.А,что есть-равномерно,мне,например-непонятно.
Может неправильно описал вопрос.
Дополнение - у меня есть отладочная плата и двухмостовой модуль для подачи так в две обмотки шагового двигателя. При этом эсть комповый блок питания, откудова я беру +12В и +5В питания для двигателя и для логики соответственно. Обмотка двигателя рассчитана на ток 4А, но мосты расчитаны на ток только в 2А, да и БП уйдет в перегруз по току если напрямую запитать от него обмотки.
Чтобы ограничить ток в обмотках, я вывел ШИМ через 6,7,8,9 пины порта Б. ШИМом, который я подаю на входы мостов, я управляю значением тока через обмотки. То есть для вращения вала двигателя я планирую пользоваться такой схемой: последовательно подавать ШИМ-сигнал на каждый вход мостовой схемы. Но когда генерируется ШИМ, то он подается равномерно на все 4 пина. То есть если я его в таком виде подам на входы мостов, то запитанными окажутся все 2 обмотки - двигатель двигаться не будет. Я хочу чтобы в один момент времени ШИМ выходил из пина РВ6, а все остальные пины лежали на нуле, в следующий момент времени ШИМ должен выходить из РВ8, остальные - на нуле, потом РВ2, потом РВ4 - таким образом в один момент запитывать один из входов обмоток двигателя, другой удерживая на земле. Хотел для этого сконфигугрировать другой таймер, который дает прерывание каждые 250 мС, а в обработчике менять скважность ШИМа каждого из пинов. То есть хотел чтобы работал следующий код
void TIM3_IRQnHomdler(void)
{
if(TIM4->CCR1 != 0) //30 - это скважность импульсов на ШИМе
{
TIM4->ССR3 = 30;
TIM4->CCR1 = 0;
}
if(TIM4->CCR3 != 0) //30 - это скважность импульсов на ШИМе
{
TIM4->ССR2 = 30;
TIM4->CCR3 = 0;
}
if(TIM4->CCR2 != 0) //30 - это скважность импульсов на ШИМе
{
TIM4->ССR4 = 30;
TIM4->CCR2 = 0;
}
if(TIM4->CCR4 != 0) //30 - это скважность импульсов на ШИМе
{
TIM4->ССR1 = 30;
TIM4->CCR4 = 0;
}
TIM_ClearITPendingByt(TIM3, TIM_IT_Update);
}

но когда отладчиком смотрю каждый вызов прерывания TIM3, то обнаруживаю, что установленные в 0 регистры таковыми не сохраняются, а снова приобретают исходное значение скважности, то есть 30. Вот я и спрашиваю - как возможно отключать сигнал ШИМ, сгенерированный одним таймером, от каждого канала вывода по отдельности - то есть чтобы если он есть на одной ноге, то все остальные ноги в это время были бы нулями.
То есть мне как раз и интересно как можно менять скважность импульсов на канале на лету. например из обработчика прерывания другого таймера.
Вот как-то так....

Вернуться к обсуждению:
Последовательная подача ШИМ на разные каналы (решено) ARM, Cortex, STM32
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.09.2015, 17:13
Готовые ответы и решения:

Последовательная подача байта на ногу МК
Есть переменная char a = 0xDC. Как ее последовательно подать на ногу PB1? На языке С. Делаю вот что...

ШИМ для мотора печки [Решено]
Машина М2141, мотор печки довольно мощный. Коллекторный. Заявлено 90 Вт мощности, 12 вольт, 15 А,...

Одновременная маршрутизация через разные каналы
микротик 1 - офис 192.168.11.0/24 один WAN (белый IP статика) - я сижу в офисе микротик 2 - склад...

Передача аудиопотока на разные каналы одной звуковой карты
Доброго всем! Имею: Звуковую карту 7.1, сетевой аудио поток который генерирую с помощью libVLC и...

Каналы поменять левый и правый каналы аудио ?
Как поменять каналы правый на левый, в играх приходится постоянно поворачивать наушники а модель...

12
20.09.2015, 17:13
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.09.2015, 17:13
Помогаю со студенческими работами здесь

Dell Vostro 3560 (LA-8241P) - Не включался, после замены шим сдохла и шим и ещё что-то
Имеется бук бп в защиту не уходил, но ни на что не реагировал. После изучения схемы и проверки...

Модуль управления кондиционера Haier 0010402487, снесло "крышу " шим ,вопрос - какой шим должен быть ?
Фото модуля ...и шимки.. https://www.cyberforum.ru/savedimages/2015/04/28/3814729637.jpg...

Подача апелляции
Здравствуйте, Друзья/товарищи Хотел бы проявить интерес к такой возможности, как <b>подача...

Подача аргументов функции
Здравствуйте, работаю в Linux lubuntu в PostgreSQL через pgAdmin3. Имеется функция, которая после...

Подача на повторную индексацию
Добрый день :) Вопрос к бывалым в бане товарищам. Как раз перед праздниками полностью выпал из...

Подача синусоидального сигнала
Доброго времени суток! С помощью контроллера нужно подать синусоидальный сигнал вида A*sin(w*t) на...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru