Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
ARM, Cortex, STM32 Трехпроводное подключение термосопротивления к STM32F103 https://www.cyberforum.ru/ arm/ thread1766941.html
Доброго времени суток! Собираюсь измерять температуру с помощью датчика термосопротивления. Вообще, необходимо сделать универсальный выход для датчиков, в который можно воткнуть любой датчик температуры/давления с измерением по току/напряжению. Но для начала с температурой. Копнул немного по теории и пришел к выводу, для более точного измерения необходимо трех/четырех проводное подключение....
ARM, Cortex, STM32 Магнитометр HMC5883 + STM32
Добрый день! Захотелось подключить STM32F103 к магнитометру HMC5883L. Написал, как в примерах, но с библиотекой HAL. В итоге вместо положения xy, показывает нечто похожее на zx. Ничего не пойму(( Может I2C настроил неверно? Вывод данных реализовал по UARTу, реализован вроде бы корректно.. Такое чувство, что I2C неполноценно с магнитометром общается(( Подскажите пожалуйста! в чем может быть...
ARM, Cortex, STM32 Запись и чтение данных NAND flash подключенной к STM32F4_diskovery Доброе время суток. Суть проблемы. К МК STM32F4_diskovery подключил NAND память MT29F64G08. написал код для инициализации флеша по пинам. Начал читать тестовый ID. Получается правильно. Не могу понять как на С записать данные на страницу памяти, а потом считать их. Как я понимаю для чтения идет такой код uint8_t buffer; uint8_t * data = (uint8_t *)FSMC_Bank2_NAND_data; uint8_t * command... https://www.cyberforum.ru/ arm/ thread1746984.html ARM, Cortex, STM32 USART1+stmf103rb Добрый день! Набросал программку: моргает светодиодом по прерыванию таймера. Решил чтонибудь вывести через usart так же по прерыванию. Проблема: без вывода в USORT все моргает, все хорошо, как только я закладываю функцию в обработчик прерываний таймера, программа вешается на цикле проверки флага усарта. Такой же эффект если положить функцию в основной цикл. Точно упускаю какую то мелочь, но не... https://www.cyberforum.ru/ arm/ thread1736560.html
ARM, Cortex, STM32 Добавление описания регистров USB в stm32f30x.h
Приветствую форумчан! Не могу понять, почему программисты, при создании stm32f30x.h не добавили описания регистров USB? Пытаюсь исправить эту ситуацию, но не совсем понимаю как правильно сделать. typedef struct { __IO uint32_t CNTR; __IO uint32_t ISTR; __IO uint32_t FNR; __IO uint32_t DADDR; __IO uint32_t BTABLE; __IO uint32_t EP;
ARM, Cortex, STM32 Графический контроллер FT800 и STM32 https://www.cyberforum.ru/ arm/ thread1729561.html
Здравствуйте уважаемые участники форума. Есть ли среди Вас человек, который работал с графическими контроллерами FT800? Была бы полезна консультация, а так же совместное решение общих вопросов. Конкретно сейчас не могу разобраться с выводом кириллицы.
ARM, Cortex, STM32 USB-HID+stm32 и немного modbus Добрый день, потихоньку въезжаю в обмен данными МК и ПК. По ТЗ от меня хотят, чтобы устройство подключалось по USB к компьютеру, ну и с ПК можно было устройство откалибровать/настроить/графики снять и так далее. В ТЗ указано USB и протокол обмена modbus(?). Услышал мнение, что при реализации USB HID модбас вообще не нужен, с другой стороны, приложение под ПК будет писать другой человек, и нам... https://www.cyberforum.ru/ arm/ thread1729150.html ARM, Cortex, STM32 Stm32f407 и SPI
начал запускать дисплейчик на ST7735 на программным SPI все работает, на железном глюки везде видел такую конструкцию( посылка с ожиданием окончания передачи) while((SPI_LCD->SR&SPI_I2S_FLAG_TXE) ==0){__nop();}// ждем опустошения буфера передатчика SPI_LCD->DR=data;// закидываем данные while(SPI_LCD->SR & SPI_SR_BSY){__nop()}// ждем пока освободится SPI вот она и глючила. если...
ARM, Cortex, STM32 STM32F051R8T6 - Режим захвата Ранее была реализована процедуры обработки посылки по "воздуху" от датчика, при помощи базового таймера и прерывания. Сейчас хотелось бы усвоить, как правильно реализовать тоже самое но при помощи режима захвата. Выкладываю часть программа, отвечающая за захват, при дебагинге обнаружил что в CCR1 данные о приходе импульса не записываются, импульс подается на канал 1 таймера TIM3 (вывод PA6). Что... https://www.cyberforum.ru/ arm/ thread1728254.html ARM, Cortex, STM32 STM32F103C8T6 Basic Timer https://www.cyberforum.ru/ arm/ thread1719973.html
Использую таймер TIM6 как счетчик (1тик- 1мкс), необходимо для обработки внешнего прерывания на ноге PA3 void EXTI2_3_IRQHandler(void) { p0_len = TIM6->CNT; TIM6->CNT = 0;//Сомнение в этом (можно ли это делать "на лету"), обнулять счетчик таймера PR_CC1101();//Обработчик p0_prev_len = p0_len; HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_3); }
ARM, Cortex, STM32 STM32f407 реализация тахометра
Всем доброго времени суток. Имеется датчик частоты вращения роторных машин и двигателей.На выходе прямоугольные импульсы,задача рассчитать их частоту. Для реализации использую таймер захвата нарастающего фронта: TimHandle.Instance = TIM2; TimHandle.Init.Period = 0xFFFF; TimHandle.Init.Prescaler = 0; TimHandle.Init.ClockDivision = 0; TimHandle.Init.CounterMode =...
ARM, Cortex, STM32 STM32F429I-DISCO + EB-500 EVK
1 / 1 / 0
Регистрация: 22.06.2016
Сообщений: 96
0

Генерация ШИМ для синусоиды STM32F100 - ARM, Cortex, STM32 - Ответ 9300688

22.06.2016, 09:19. Показов 18766. Ответов 32
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, помогите новичку! До этого никогда не работал с МК, а тут начал с STM32F100 с наскоку.

Вот по одному из многочисленных уроков в инэте написал код и залил в МК.

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include "stm32f10x.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"
#include "stm32f10x_tim.h"
 
 
void Init_Timer (void) {
  
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  
  GPIO_InitTypeDef Nozka;
  Nozka.GPIO_Pin=GPIO_Pin_1;
  Nozka.GPIO_Mode=GPIO_Mode_AF_PP;
  Nozka.GPIO_Speed=GPIO_Speed_50MHz;
  
  GPIO_Init(GPIOA,&Nozka);
  
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
  
  TIM_TimeBaseInitTypeDef  TIM2_scr;
  
  TIM2_scr.TIM_ClockDivision=TIM_CKD_DIV1;
  TIM2_scr.TIM_CounterMode=TIM_CounterMode_Up;
  TIM2_scr.TIM_Prescaler=24000-1;
  TIM2_scr.TIM_Period=10000;
  
  
  
  TIM_TimeBaseInit(TIM2,&TIM2_scr);
  
  TIM_OCInitTypeDef TIM2_OC;
  
  TIM2_OC.TIM_OCMode=TIM_OCMode_PWM1;
  TIM2_OC.TIM_OCPolarity=TIM_OCPolarity_High;
  TIM2_OC.TIM_Pulse=1000;
  TIM2_OC.TIM_OutputState=TIM_OutputState_Enable;
  TIM_OC2Init(TIM2,&TIM2_OC);
 
  TIM_Cmd(TIM2,ENABLE);
  
  
  }
 
int main (void) 
 
{
  Init_Timer();
  while(1){};
  
}
Все работает на ура. Вот только решил пойти дальше, а именно получить положительную полуволну синуса и уткнулся лбом в стену.
В моем понимании задается некий массив со значениями синуса от 0 до 90 градусов, естественно пересчитанными в импульсы увеличивающейся длины. Все это загоняется на полевик IRL3705N.
В CCRx можно записать "0". Счетчик (CNT) массив кушает до 90 градусов синуса, затем значения в CNT и ARR становятся одинаковыми. Счетчик сбрасывается в "0". Как его заставить считать в обратном порядке этот же самый массив? И куда записывать массив? Напрямую в TIMx_CNT ? TIM_Pulse уже не имеет значения и его можно удалять? В TIMx_ARR пихать максимальное значение при синусе 90 градусов?
Пробовал такое сделать но не выходит.

Вернуться к обсуждению:
Генерация ШИМ для синусоиды STM32F100 ARM, Cortex, STM32
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.06.2016, 09:19
Готовые ответы и решения:

Объясните суть ШИМ на STM32F100
Здравствуйте. Я навичек в электронике и программировании, но как то сразу потянуло на ШИМ на...

stm32 генерация синусоиды
У меня возник вопрос чтобы генерировать синусоиду в STM32.И задался вопросом а по какой формуле...

Генерация ШИМ
Плата STM-P103 Частота SYSCLK выставлена на 56МГц Никак не могу разобраться, в чем ошибка. На...

Генерация ШИМ 30кГц на STM32
Доброго времени! Делаю часы на газоразрядных индикаторах, которые питаются от 180в. Сделал...

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

Генерация синусоиды с ЦАПа через DMA (ADuCM360)
Есть код программы DAC_DMA. Надо чуть чуть переделать что бы генерировать синусоиду и через...

Генерация синусоиды
Вообщем возникла проблема, помогите решить. Идея Генерировать синусоиду с частотой дискретизации...

Аппаратная генерация ШИМ-сигнала таймером в режиме phase-correct для управления сервоприводом (arduino uno)
Нужно, используя таймер в режиме phase-correct, аппаратно сгенерировать сигнал для управления...

Генерация ШИМ в режиме Fast PWM
Доброго! Пытаюсь реализовать программу управления яркостью светодиода через UART. Вот код: .include...

STM32F1 генерация ШИМ на TIM4 с использованием DMA
Добрый день! Пытаюсь запустить генерацию PWM с использованием DMA на таймере TIM4. Вот код: ...

Atmega 2560. Генерация 16-разрядного ШИМ в режиме Fast PWM
Всем привет! Пытаюсь подать на ножку PB7 (к которой подключен светодиод) 16-разрядный ШИМ в режиме...

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