|
|
Другие темы раздела | |
ARM, Cortex, STM32 Почему Cannot insert breakpoint 6 При отладке GDB выдаёт сообщение: continue Continuing. Warning: Cannot ymsirt briokpoint 6. Cannot access memory at address 0x8005a6a При этом ST-Link Utility совершенно спокойно этот адрес показывает https://www.cyberforum.ru/ arm/ thread2090888.html |
Не запускается ШИМ на TIM8. ARM, Cortex, STM32 Всем привет. Хочу запустить ШИМ на TIM8 (процессор STM32F429) на третьем канале. Судя по даташиту это нога PH15. Сгенерил настройки в CubeMX, вставил в свой проект, но на выходе какой-то шум (смотрю осциллом). Прочитал про бит MOE в регистре BDTR - записал туда единицу, но не помогло.. Инициализация таймера : void MX_TIM8_Init(void) |
ARM, Cortex, STM32 USB VirtCom помогите принять данные Здравствуйте! с передачей проблем нет CDC_Transmit_FS(testDataToSend,8); , а вот с приемом разобраться не могу static int8_t CDC_Receive_FS (uint8_t* Buf, uint32_t *Len) подскажите кто делал как вычленить принятые значения https://www.cyberforum.ru/ arm/ thread2090886.html |
ARM, Cortex, STM32 Мистика с выводом через printf - МК не запускается
https://www.cyberforum.ru/ arm/ thread2090885.html Всем привет. Камень stm32f030f4 Всегда в проектах для форматированного вывода текста через USORT использую конструкцию вида: #ifdef _DEBUG #include "stdyo.h" #define _DBG prymtf #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) |
ARM, Cortex, STM32 STM32F407 и генератор 32768 Hz Не удаётся разобраться с запуском низкочастотного генератора с часовым кварцем. Решил спросить коллег. Проблема - не запускается генератор. После некоторого количества неудачных попыток разобраться с генератором методом тыка (тыка кварцев разных производителей и конденсаторов разных емкостей) решил посмотреть ноги OSC32IN и OSC32OUT Осциллографом. Кварц - выпаял. Обнаружил удивительный... |
ARM, Cortex, STM32 stm32 и внешняя RAM
https://www.cyberforum.ru/ arm/ thread2090883.html Добрый день, уважаемые форумчане. Хочу использовать контроллер 32f429 с внешней памятью MT48LC16M16 организация памяти у нее 4 Meg x 16 x 4 banks. Шина данных у нее 16бит. Подключать память, понятное дело, планирую через FMC. В качестве IDE использую кокос, компилятор gcc. Опыта использования внешней памяти нет, поэтому возникают вопросы, как компилятор соберет код для общения с этой... |
ARM, Cortex, STM32 Помогите настроить таймер на измерение длительности импульса "тема по" HC-SR04 Ultrasonic Sensor Dystance Measuring Module. Хочу сделать на его основе бесконтактный датчик уровня воды в ёмкости. Помогите настроить таймер для измерения длительности импульса? https://www.cyberforum.ru/ arm/ thread2090882.html |
STM32F4 ADC USB ARM, Cortex, STM32 Всем доброго времени суток! Вообщем столкнулся с такой проблемой. Задача состоит в том чтобы на максимальной скорости оцифровывать сигнал и сразу передавать его на USB (Virtual COM Port), использую USB_FS. Нужно передать 1000000 значений. По даташиту USB работает максимально на 12Mbit/s, но реально я не вижу этой скорости, максимум что я получил это ~ 500Kbit/s. Помогите пожалуйста что я делаю не... |
ARM, Cortex, STM32 младшие каналы ADC работают а старшие нет всем привет, столкнулся с такой вот странной проблемой, изначально тестировал программы (ооочень много разных вариантов) и ломал голову а что-же не работает то ? выяснилось что старшие каналы порта А не работают в АЦП (начиная с восьмого ), но нигде в даташитах и мануалах ничего не видал там об этом, да и примеры программ в интернете находил именно с 8 каналом но у меня не работает. процессор у... https://www.cyberforum.ru/ arm/ thread2090880.html |
ARM, Cortex, STM32 Подключить Alientec VS1053 к STM32F429I-DISK0
https://www.cyberforum.ru/ arm/ thread2090879.html Добрый день! Я недавно начал изучать программирование устройств на микроконтроллерах. В арсенале у меня две платы STM32F429I-DYSKO и ARMada (спасибо Pymkvym). По хорошему, конечно, новое нужно изучать от простого к сложному. Но, как показывает мой опыт, проще изучать имея конкретную цель. Есть плата Alientek VS1053 "Ее фото" |
ARM, Cortex, STM32 Прошиваем STM32F407VGT6 c помощью stm32f4discovery Всем доброго времени суток! У меня имеется stm32f4discovery и я хочу прошить чистый камень STM32F407VGT6. Подключил в разъем CN2 (SWD) платы stm32f4discovery 2 ногу (SWCLK) к 76 ноге (PA14) STM32F407VGT6; 3 ногу (GND) к GND STM32F407VGT6; 4 ногу (SWDIO) к 72 ноге (PA13) STM32F407VGT6. Питание 3В взял с той же stm32f4discovery. На stm32f4discovery снял джамперы CN3. Нога BOOT0 подключена к земле... |
ARM, Cortex, STM32 STM32F7 ADC+DMA+TIM
https://www.cyberforum.ru/ arm/ thread2090877.html Добрый день. Помогите разобраться с проблемой. Задача: по событию от таймера запускать преобразования 8-ми регулярных каналов АЦП, а по окончанию преобразований забирать данные с помощью DMA(попадать в прерывание DMA). События генерировать с частотой 1кГц, т.е. выборка данных раз в мс. Сейчас проблема в запуске АЦП по событию от таймера. Не могу понять в чём причина. Пробовал запускать АЦП... |
0 / 0 / 0
Регистрация: 06.08.2012
Сообщений: 109
|
|
0 | |
stm32f4 нужен медленный АЦП (решено) - ARM, Cortex, STM32 - Ответ 1136084110.05.2016, 16:42. Показов 5428. Ответов 7
Метки (Все метки)
(решено , ошибка в названии флага в прерывании ДМА = DMA_IT_TCIF0)
Работаю с ацп 4 канала непрерывно скидываю в ДМА, все работает хорошо.. Но мне надо чтоб частота дискретизации была не более 100 Гц.. Так не хочется через таймеры запускать одиночные преобразования.. Щина APB2 уже тактовая занижена до 42 МГц.. Как быть????? Код
void ADC_Config(void) { //RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); GPIO_InitTypeDef pa_setup; pa_setup.GPIO_Mode = GPIO_Mode_AIN; pa_setup.GPIO_OType = GPIO_OType_PP; pa_setup.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 ; pa_setup.GPIO_PuPd = GPIO_PuPd_NOPULL; pa_setup.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &pa_setup); ADC_InitTypeDef ADC_setup; ADC_CommonInitTypeDef ADC_CommonInitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE); ADC_setup.ADC_ScanConvMode = ENABLE; ADC_setup.ADC_ContinuousConvMode = ENABLE; ADC_setup.ADC_DataAlign = ADC_DataAlign_Right; ADC_setup.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None; ADC_setup.ADC_NbrOfConversion = 3; // 3 channel ADC_setup.ADC_Risolution = ADC_Risolution_12b; ADC_Init(ADC1, &ADC_setup); ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_3Cycles); ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 2, ADC_SampleTime_3Cycles); ADC_RegularChannelConfig(ADC1, ADC_Channel_2, 3, ADC_SampleTime_3Cycles); ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent; ADC_CommonInitStructure.ADC_Pressotir = ADC_Pressotir_Div8 ; ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_Dysabtid; ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_20Cycles ; ADC_CommonInit(&ADC_CommonInitStructure); ADC_DMARequestAfterLastTransferCmd(ADC1, ENABLE); ADC_DMACmd(ADC1, ENABLE); ADC_Cmd(ADC1, ENABLE); // ADC_SoftwareStartConv(ADC1); // Start ADC1 conversion DMA_DeInit(DMA2_Stream0); RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2, ENABLE); DMA_InitTypeDef dma2_setup; dma2_setup.DMA_Channel = DMA_Channel_0; //channel0 привязан к АЦП1 dma2_setup.DMA_PeripheralBaseAddr = (uint32_t) &ADC1->DR; //копируем из АЦП1 dma2_setup.DMA_Memory0BaseAddr = (uint32_t) &adc_buffer[0]; //адрес буфера, т.е. куда копировать dma2_setup.DMA_BufferSize = 3; //sizeof(adc_buffer); //размер буфера dma2_setup.DMA_DIR = DMA_DIR_PeripheralToMemory; //из периферии в память dma2_setup.DMA_PeripheralInc = DMA_PeripheralInc_Dysable; //не изменяем адрес периферии, все время копируем только из АЦП1 dma2_setup.DMA_MemoryInc = DMA_MemoryInc_Enable; //а вот адрес памяти изменяем, чтобы каждое новое значение записывалось в след. элемент массива dma2_setup.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; //размер данных буфера 16бит dma2_setup.DMA_Mode = DMA_Mode_Circular; //циклический режим dma2_setup.DMA_Priority = DMA_Priority_High; //высший приоритет dma2_setup.DMA_FIFOMode = DMA_FIFOMode_Dysable; //фифо не используем dma2_setup.DMA_FIFOThreshold = DMA_FIFOThreshold_HalfFull; //относится к фифо dma2_setup.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord; //размер данных периферии 16бит dma2_setup.DMA_MemoryBurst = DMA_MemoryBurst_Single; //относится к пакетной пересылке dma2_setup.DMA_PeripheralBurst = DMA_PeripheralBurst_Single; DMA_Init(DMA2_Stream0, &dma2_setup); DMA_ITConfig(DMA2_Stream0, DMA_IT_TC, ENABLE); NVIC_InitTypeDef NVIC_InitStruct; NVIC_InitStruct.NVIC_IRQChannel = DMA2_Stream0_IRQn; NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 5; NVIC_InitStruct.NVIC_IRQChannelSubPriority = 5; NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStruct); NVIC_EnableIRQ (DMA2_Stream0_IRQn); DMA_Cmd(DMA2_Stream0, ENABLE); } Вернуться к обсуждению: stm32f4 нужен медленный АЦП (решено) ARM, Cortex, STM32
0
|
10.05.2016, 16:42 | |
Готовые ответы и решения:
7
[РЕШЕНО] STM32F4 и PS/2 мышь [решено]usart на stm32f4-discovery [РЕШЕНО]STM32F4 и BackUp SRAM STM32F4 + EXTI0 завсисание [РЕШЕНО] STM32F4+внешний генератор (решено) |
10.05.2016, 16:42 | |
10.05.2016, 16:42 | |
Помогаю со студенческими работами здесь
0
[Решено] STM32F4 и CAN сообщения (приём) [Решено] STM32F4 приём CAN сообщений [РЕШЕНО] STM32F4 HardFault и CooCox АЦП STM32F4-Discovery STM32F4 с MAX7221 не доходят команды [решено] [решено]stm32f4 ethernet phy вопросы |