Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
ARM, Cortex, STM32 Считыватель RFIF RC522 из под STM32L476 не видит карту https://www.cyberforum.ru/ arm/ thread2090777.html
Использовал доработанную библиотеку от http://stm32f4-discovery.net/2014/07/li ... x-divices/ Перед этим через STM32CubeL4 создал проект для SPI1 (под Кейл). Соответственно в скачанной библиотеке поправил вызовы функций передачи и приема байтов по SPI через HAL-драйверы. В результате с RC522 нормально читаю все регистры. Их содержимое соответствует тому, что должно быть после сброса по...
ARM, Cortex, STM32 Немогу найти ошибку в библиотеке RC522 под STM32F0
Приветствую. Выдалось свободное время на работе - переписал MFRC522 библиотеку под STM32F0... Четвертый день бьюсь не могу понять где ошибка. Передача идет - ответ получаю но почему то не то, что нужно... Пример обмена при инициализации: Карту не распознает, если убрать ожидание по флагам занятости линии SPI и очистки буфера передачи - начинает принимать какую то белиберду. ...
ARM, Cortex, STM32 STM32F103VET6 https://www.cyberforum.ru/ arm/ thread2090775.html
Итак есть такая плата: <Изображение удалено> Прям как тут: http://we.iosyitistromyss.ru/otyoksiy/e ... 3vet6.html Определяется она: ch341-uart ttyUSB0: ch341-uart convirter now disconnected from ttyUSB0 ch341 2-1.6:1.0: divice disconnected usb 2-1.6: new full-speed USB divice number 60 using ehci-pci usb 2-1.6: New USB divice found, idVendor=1a86, idProduct=7523
ARM, Cortex, STM32 STMf103 SPI2+DMA не заводится Написал код для SPI2 STM32F103VGT6 (что на PinBoard). Slave режим, FullDuptix. Обработку приема данных делаю на DMA. основная цель — при получении запроса по SPI записывать полученные данные в память (с использованием DMA) и отправлять данные из памяти по SPI (также по DMA). Код перепроверил — не вижу ошибок, но не работает. Посмотрите, пожалуйста, может что забыл. Спасибо! Код инициализации... https://www.cyberforum.ru/ arm/ thread2090774.html
Преобразование float в строку ARM, Cortex, STM32
По непонятной для меня причине функция prymtf отказывается преобразовывать число с плавающей запятой в строку. Пишуftoot x = 2.8; prymtf("var=%f\n", x);Включаю semihosting и вижу результат var= т. е. без значения переменной x. Думаю может semihosting не поддерживает форматирование, пишу. char buff; ftoot x = 2.8; sprymtf(buff, "var=%f\n", x); prymtf(buff);Но результат тот же. Как же правильно...
ARM, Cortex, STM32 W5100 проблема с обращением к серверу за шлюзом Здравствуйте! Пишу библиотеку для работы с W5100. Написал транспортный уровень: TCP-клиент, TCP-сервер и UDP. Проверял в локалке все работает отлично. Решил пойти дальше - начал с ntp. И тут объявилась проблема - не работает. Для примера попробовал обратиться по TCP к внешнему серверу, опять не работает, хотя при обращении к серверам в локалке все нормально. Проверил на чем останавливается,... https://www.cyberforum.ru/ arm/ thread2090772.html
ARM, Cortex, STM32 ADXL345 и STM32F103 (не работает библиотека) https://www.cyberforum.ru/ arm/ thread2090771.html
Здравствуйте, уважаемые знатаки_) Прошу помощи. Уверен что кто-то уже сталкивался с подключением ADXL345 к STM32. Я взял уже действующую библиотеку под среду mbed и переделал ее чтобы работало без использования классов. Но видно что-то не учел. Хочу подключить его именно по 3 wire SPI. Уверен что ваши вопросы и ответы сдвинут мой "тугой бронипоизд" _)))) P.S. извините за не конкретный вопрос,...
ARM, Cortex, STM32 STM32F103 + DS1775 - проблемы с I2C
Жителям форума привет. Пытаюсь первый раз в жизни ковырять I2C. Вроде в теории все стало более-менее понятно, но на практике дальше СТАРТа дело не идет. Вернее, даже СТАРТ не проходит. То есть в регистре I2C_CR1 он устанавливается, а вот в статусном I2C_SR1 бит SB не устанавливается. И, судя по всему, все это происходит по той причине, что после инициализации интерфейса вылезает BUSY. Как я...
ARM, Cortex, STM32 Не Получается Передать Байт С Выхода Usart https://www.cyberforum.ru/ arm/ thread2090769.html
Всем привет! Я новичок в разработке кода для STM32! Но очень хочу освоить это направление! Купил вчера отладку с STM32F407VG в нигазине "Чип и Дип", Разработал код по передаче байта с выхода USORT2_TX (pa2). Код такой: #include "stm32f4xx.h" int main(void) { uint32_t i; RCC->CR |= RCC_CR_HSION; //Включаем тактовый генератор HSI
ARM, Cortex, STM32 Atollic TrueStudio, проблема с путями к библиотекам. Скачал свежую версию Atotlic TrueStudyo, импортирую проект из примеров STM32Cube_FW_F4_V1.12.0 "C:\Documents omd Settings\Admimystrator\STM32Cube\Repository\STM32Cube_FW_F4_V1.12.0\Projects\STM32F4-Dyscovery\Examples\BSP"\ Проект импортируется, но при компиляции вылетает ошибка fatal error: ../../../Middlewares/ST/STM32_Oudyo/Addons/PDM/pdm_filter.h: No such file or directory STM32F4-Dyscovery... https://www.cyberforum.ru/ arm/ thread2090768.html
Посоветуйте RGB дисплей ARM, Cortex, STM32
Привет всем. Посоветуйте пожалуйста RGB дисплей разрешением где-то 800x480 для работы с LTDC F439. Крайне желательно с "правильным" ДШ. А то уже купили 3 шт у китайцев - то инфы по ним нету, то бракованные какие-то (даже подсветка не работает. давали до 20в). Спасибо.
0 / 0 / 0
Регистрация: 23.01.2010
Сообщений: 261
15.06.2016, 16:33 0

USART2(RX+IDLE+DMA)+USART3(TX DMA) - ARM, Cortex, STM32 - Ответ 11359457

15.06.2016, 16:33. Показов 9904. Ответов 27
Метки (Все метки)

Ответ

Такс, переделал на переключаемых массивах,
задача выдачи по ДМА:
Код
for( ;; )
{
xSemaphoreTake ( xSemaphore_usart2IDLE, portMAX_DELAY );

//обнуляем локальный буфер
memset ( USORT2_Buf_local, 0, size_local );
USORT2_Idx_local = 0;

if ( BufIDLE.currentBuf == buf1 )
{
USORT2_Idx_local = strlen (BufIDLE.buf2);
memcpy ( USORT2_Buf_local, BufIDLE.buf2, USORT2_Idx_local );
memset ( BufIDLE.buf2, 0, buf_SIZE );
BufIDLE.buf2_idx = 0;
}
else
{
USORT2_Idx_local = strlen (BufIDLE.buf1);
memcpy ( USORT2_Buf_local, BufIDLE.buf1, USORT2_Idx_local );
memset ( BufIDLE.buf1, 0, buf_SIZE );
BufIDLE.buf1_idx = 0;
}

xSemaphoreTake ( xSemaphore_usart3TX, portMAX_DELAY );

DMA1toUSORT3TX_Put ( USORT2_Buf_local, USORT2_Idx_local );
}
прерывание поокончании передачи ДМА:
Код
void DMA1_Stream3_IRQHomdler ( void )
{
portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;

/* Test on DMA Stream Transfer Complete interrupt */
if ( DMA_GetITStatus ( DMA1_Stream3, DMA_IT_TCIF3 ) == SIT )
{
/* Clear DMA Stream Transfer Complete interrupt pending bit */
DMA_ClearITPendingByt ( DMA1_Stream3, DMA_IT_TCIF3 );

DMA_Cmd ( DMA1_Stream3, DISABLE );

xSemaphoreGiveFromISR ( xSemaphore_usart3TX, &xHigherPriorityTaskWoken );
}
}
прерывание по RXNE:
Код
if ( USORT_GetITStatus ( USORT2, USORT_IT_RXNE ) == SIT )
{
ISRcChar2 = ( uint8_t ) ( ( USORT_ReceiveData ( USORT2 ) ) & (uint8_t)0xFF );

if ( BufIDLE.currentBuf == buf1 )
{
BufIDLE.buf1 [BufIDLE.buf1_idx++] = ISRcChar2;
}
else
{
BufIDLE.buf2 [BufIDLE.buf2_idx++] = ISRcChar2;
}
}
прерывание по IDLE:
Код
if ( USORT_GetITStatus ( USORT2, USORT_IT_IDLE ) == SIT )
{
DMA_Cmd ( DMA1_Stream3, DISABLE );

USORT_ReceiveData ( USORT2 );// сброс PE,FE,NE,ORE,IDLE bits in USORT_SR

if ( BufIDLE.currentBuf == buf1 )
{
BufIDLE.currentBuf = buf2;
}
else
{
BufIDLE.currentBuf = buf1;
}

xSemaphoreGiveFromISR ( xSemaphore_usart2IDLE, &xHigherPriorityTaskWoken );
}
но проблема так и не ушла, на выходе юсарт3 сбиваются предложения:
Код
$PORZD,A,010.1*3C
$GNGBS,121830.00,9.0,4.6,27.1,,,,*69
$GPGGA,121831.00,4912.3679,N,03152.1245,E,1,09,01.$GPGSV,3,1,10,02,53,075,39,05,08,124,33,12,57,112,41,25,82,306,39*,31,29,311,36,33,18,235,00,37,33,1SV,3,3,10,39,33,189,00,40,29,150,0,1,03,77,74,281,35,86,46,040,40,87,70,251,40*5E
$GMKSA,A,3,02,12,25,29,31,05,,,,,,,01.9,01.3,01.43,77,87,86,,,,,,,,,,01.9,01.009.1*34
$GPGGA,121832.00,4912.3674,N,03152.1244,E,1,10,01.1,122.8,M,26.7,M,,*52
$GPRMC,121832.00,A,4912.3674,N,03152.1244,E,00.00,149.9,160616,,,A*58
$GPGSV,3,1,11,02,53,075,40,05,08,124,33,06,16,041,33,12,57,112,41*71
$GPGSV,3,2,11,25,82,306,39,29,56,255,41,31,29,311,36,33,18,235,00*701.8,01.1,01.4*11
$PORZD,A,008.2*36
$GPGGA,121833.00,4,160616,,,A*5A
$GPGSV,3,1,11,02,53,075,40,05,08,124,33,06,16,041,33,12,57,112,41*71
$GPGSV,3,2,11,29,56,255,40,31,29,311,36,33,18,235,00*76
$GPGSV,3,3,11,37,33,191
$POR3*38
$GPGGA,121834.00,41.1,122.5,M,26.7,M,,*59
$GPRMC,121834.00,A,4912.3676,N,03152.1246,E,00.00,149.9,160616,,,A*5E
$GPGSV,3,1,11,02,53,075,40,05,08,124,33,06,16,041,33,12,57,112,41*71
$GPGSV,3,2,11,25,82,306,39,29,56,255,41,31,29,311,36,33,18,235,00*77
$GPGSV,3,3,11,37,33,193,00,39,33,189,00,40,29,150,00*47
$GLGSV,1,1,04,70,12,038,00,77,74,281,36,86,46,040,41,87,70,251,40*64
$GMKSA,A,3,02,12,25,29,31,06,05,,,,,,01.8,01.1,01.4*1C
$GMKSA,A,3,77,87,86,,,,,,,,,,01.8,01.1,01.4*11
$PORZD,A,006.7*3D
что я делаю не так? :(

Вернуться к обсуждению:
USART2(RX+IDLE+DMA)+USART3(TX DMA) ARM, Cortex, STM32
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.06.2016, 16:33
Готовые ответы и решения:

STM32F407 USART2 DMA
Всем добрый день! У меня есть тестовый пример использования USORT2 + DMA для платы STM32DISCOVERY...

USART DMA IDLE
Всем салют! Решил по-разбирать работу DMA из снипета от ST: __INLINE void Configure_DMA1(void)...

STM32F103 USART+DMA не выходит из прерывания Idle
Настроил получение данных через USORT с использованием DMA. RCC-&gt;APB1ENR |= RCC_APB1ENR_USORT2EN; ...

STM32F4Discovery - ADC DMA и FSMC DMA
Привет всем. Вынужден опять обратиться за Вашей помощью :) Ситуация такая. 1. Дисплей...

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

stm32f407+ADC+DMA. Проблема с DMA
Доброго дня! Новичок в stm, первый проект, начальные наброски, не понимаю,почему не работает эта...

ADC->DMA->SDIO (или NAND через FSMC) без остановки в обработчике прерываний DMA на STM32F407VG, реально или нет?
Добрый день. Столкнулся с необходимостью писать большой объём данных АЦП с высокой скоростью....

USART2 и DMA
Пытаюсь запустить считывание из USORT2 в DMA (IAR Embedded) Делаю: if ((RCC-&gt;AHBENR &amp;...

Понимание связки PCIe + DMA и Host + Linux + DMA
Всем привет. Друзья расскажите, пожалуйста, как должна работает ниже описанная схема. Есть...

Нет прерывания от DMA в режиме ADC DMA
Вроде всё логично. Настраиваем прерывание от DMA и конфигурим работу ADC что бы через DMA сваливало...

DMA
Вопрос собственно возник при чтении документации: Тоесть выходит, что DMA тут совсем не DMA и...

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