Главная › Форумы › Программирование микроконтроллеров › Программирование МК STM32
Помечено: STM32
- В этой теме 168 ответов, 99 участников, последнее обновление 9 месяцев, 3 недели назад сделано
Sanekfps2024.
-
АвторСообщения
-
Август 13, 2017 в 4:23 дп #10146
Narod Stream
ХранительЗдесь можно обсудить проблемы, связанные с программированием микроконтроллеров STM32.
Август 13, 2017 в 3:01 пп #10160Narod Stream
Хранительперемещено (сообщение от tarasik)
В 58 уроке предоставлен пример (За что огромное спасибище) считывания в память sdram картинки в формате bmp перед выводом на дисплей. Хотелось бы сделать тоже самое, только с каким нибудь примитивом. Например получили мы массив данных из ADC, как этот массив точек нарисовать в памяти функцией BSP_LCD_DrawPixel перед копированием в активную обасть фунцией BSP_LCD_DrawBitmap? Поскольку если их рисовать напрямую в активную облась дисплей жутко мерцает и дергается. Еще раз спасибо.
Август 13, 2017 в 3:05 пп #10162Narod Stream
ХранительС этим немного не так и лучше использовать DMA. Я в реальном времени рисовал на экране график маленькими массивами из DMA, используя её на всю мощность. Причём массив не содержал ненужных точек. Я заново рисовал прямоугольную область с частью сетки, а из массива отображал лишь точки кривой.
Но если Вам тяжело, то не парьтесь и воспользуйтесь библиотекой emWin. Как это делается, я показал в соответствующих уроках.Август 13, 2017 в 3:41 пп #10165tarasik
УчастникСпасибо за ответ, к сожалению привязать emWin к плате 769 у меня не получилось. В уроках рассказывается о 746. По теме: Пытаюсь сделать что то наподобие осцилографа. DMA складывает в массив данные из ADC. Для запуска используется внешний триггер, поэтому получаю свои 800 точек, и после фильтрации они готовы к отображению. И вот когда я рисую эти точки BSP_LCD_DrawPixel, то вижу свой пилообразный сигнал, но экран мерцает. Я так думаю, что это из за того, что рисую сразу в активном слое. Можно конечно воспользоваться примерами emWin от Keil, но там они используют emWin в связке со своей RTOS а мне хочется использовать FreeRTOS. Уроки по которой любезно предоставленные Вами очень сильно облегчают жизнь. Думаю не лишним будет, еще раз сказать Вам спасибо.
Август 13, 2017 в 3:51 пп #10166Narod Stream
ХранительПо 769 я тоже планировал подобный урок, причём библиотеку я прикрутил, но ещё не пришло время этой платы. Не со всеми компиляторами там всё хорошо.
Август 13, 2017 в 3:55 пп #10167tarasik
УчастникБудем ждать 🙂 Ну меду делом самому пытаться разобраться. В любом случае спасибо
Август 31, 2017 в 6:02 дп #10492Casper17
УчастникЗдравствйте. У меня возникла проблема с шиной i2c на контроллере stm32f103c8t6. В CubeMX настроил i2c1 сгенерировал проект, подключил датчик si7021 и все заработало. Но когда решил перенаправить шину на другие ножки с PB7,PB6 на PB8,PB9 через CubeMX и после генерации и заливки проекта не работает, выдает ерунду.. В чем может быть проблема?
Сентябрь 5, 2017 в 8:52 дп #10607alximed
УчастникВсем привет .А вопрос вот в чем . У меня есть много микросхем STC89C5xx . Скачал с keila прогу c51v956 . Установил . Если вкл keil5 то в нем нет этих микросхем. А в старых файлах у меня есть keil4 . Но когда я запускаю keil4 то открывается пустой keil. А что я хочу из этого. Если я могу писать в keil5 программы ,а у меня есть плата STM32F303Discovery. А в этой плате можно прошивать и другие микросхемы (я так думаю можно же прошить STC89C5xx )
Сентябрь 6, 2017 в 7:32 дп #10659Rocket
УчастникЗдравствуйте.
Никак не получается запустить проекты для STM32f7 в воркбенче.
Подскажите пожалуйста как переделать проект для Воркбенча в проект для Кейла.Просто выбрав в кубе кейл вместо воркбенча не дает результатов.
Спасибо
Сентябрь 7, 2017 в 9:11 дп #10683dimonvlg
УчастникВладимир, здравствуйте! Прошу Вас сделать «поскриптум» к уроку №9! Считать температуру и подключить кнопки настройки.
Сентябрь 8, 2017 в 7:29 дп #10686Galeaf
УчастникЗдравствуйте.
Проходя урок 73 (подключение emWin), собирал его в Кейле и столкнулся с такой проблемой.При попытке скомпилировать проект в консоли выходят ошибки:
compiling system_stm32f7xx.c…
../Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal.h(180): error: #20: identifier «HAL_StatusTypeDef» is undefined
HAL_StatusTypeDef HAL_Init(void);Может кто то сталкивался и знает решение.
Сентябрь 10, 2017 в 7:01 дп #10690Evgeny
УчастникТоже столкнулся с токой проблемой, решил так:
1. В файле «main.h» заремить строку #include «stm32f7xx_hal.h».
2. В файле «LCDConf.c» добавить строку #include «stm32f7xx_hal.h».
3. В файле «stm32f7xx_it.c» строку «volatile GUI_TIMER_TIME OS_TimeMS;» исправил на «extern volatile GUI_TIMER_TIME OS_TimeMS;»
4. В файле «main.c» строку «LTDC_HandleTypeDef hltdc;» исправил на «extern LTDC_HandleTypeDef hltdc;»
Ещё ошибка была в файле «ltdc.c» в функции «void TFT_DisplayString(uint16_t Xpos, uint16_t Ypos, const uint8_t *Text, Text_AlignModeTypedef Mode)»
Keil возмущался на «const uint8_t *Text», пришлось удалить «const» в файлах «ltdc.c» и «ltdc.h».Сентябрь 12, 2017 в 5:16 дп #10692Narod Stream
Хранитель>>Здравствуйте.
>>Никак не получается запустить проекты для STM32f7 в воркбенче.
>>Подскажите пожалуйста как переделать проект для Воркбенча в проект для Кейла.
>>Просто выбрав в кубе кейл вместо воркбенча не дает результатов.
>>СпасибоИменно так. Нужно в Cube переключить в настройках и перегенерировать. Правда, с начала желательно поудалить из папки всё лишнее, оставить папки Inc и Src, а также кубовский файл с расширением «ioc» и файл .mxproject.
Сентябрь 12, 2017 в 6:57 дп #10695Galeaf
УчастникСпасибо за ответ, Evgeny.
Да, главная проблема была в инклюде «stm32f7xx_hal.h»
Хотя я так и не понял по какой причине Кейл так себя ведет.Есть еще один момент.
Собираю проект также под STM32F746-DISCO
С последних версий CubeMX, при настройке DMA2D, в функцию
«static void MX_DMA2D_Init(void)» прописываются две строки на которые ругаются компилятор, так как они относятся к другим микроконтроллерам:hdma2d.LayerCfg[1].AlphaInverted = DMA2D_REGULAR_ALPHA;
hdma2d.LayerCfg[1].RedBlueSwap = DMA2D_RB_REGULAR;После их комментирования все работает нормально и без ошибок.
С последним обновлением Version 4.22.1 STM32Cube V1.0 проблема осталась.
Как обойти эту особенность?Сентябрь 15, 2017 в 8:15 пп #10862Oleg
УчастникДобрый вечер
Планируете ли вы сделать курс уроков по плате Open429I-C Package С, отладочный набор на базе микроконтроллера STM32F429IGT6 дисплей 7 дюймов, или Waveshare Core746I STM32F746IGT6
(http://www.waveshare.com/wiki/Open429I-C) -
АвторСообщения
-
АвторСообщения
-
Здесь можно обсудить проблемы, связанные с программированием микроконтроллеров STM32.
перемещено (сообщение от tarasik)
В 58 уроке предоставлен пример (За что огромное спасибище) считывания в память sdram картинки в формате bmp перед выводом на дисплей. Хотелось бы сделать тоже самое, только с каким нибудь примитивом. Например получили мы массив данных из ADC, как этот массив точек нарисовать в памяти функцией BSP_LCD_DrawPixel перед копированием в активную обасть фунцией BSP_LCD_DrawBitmap? Поскольку если их рисовать напрямую в активную облась дисплей жутко мерцает и дергается. Еще раз спасибо.
С этим немного не так и лучше использовать DMA. Я в реальном времени рисовал на экране график маленькими массивами из DMA, используя её на всю мощность. Причём массив не содержал ненужных точек. Я заново рисовал прямоугольную область с частью сетки, а из массива отображал лишь точки кривой.
Но если Вам тяжело, то не парьтесь и воспользуйтесь библиотекой emWin. Как это делается, я показал в соответствующих уроках.Спасибо за ответ, к сожалению привязать emWin к плате 769 у меня не получилось. В уроках рассказывается о 746. По теме: Пытаюсь сделать что то наподобие осцилографа. DMA складывает в массив данные из ADC. Для запуска используется внешний триггер, поэтому получаю свои 800 точек, и после фильтрации они готовы к отображению. И вот когда я рисую эти точки BSP_LCD_DrawPixel, то вижу свой пилообразный сигнал, но экран мерцает. Я так думаю, что это из за того, что рисую сразу в активном слое. Можно конечно воспользоваться примерами emWin от Keil, но там они используют emWin в связке со своей RTOS а мне хочется использовать FreeRTOS. Уроки по которой любезно предоставленные Вами очень сильно облегчают жизнь. Думаю не лишним будет, еще раз сказать Вам спасибо.
По 769 я тоже планировал подобный урок, причём библиотеку я прикрутил, но ещё не пришло время этой платы. Не со всеми компиляторами там всё хорошо.
Будем ждать 🙂 Ну меду делом самому пытаться разобраться. В любом случае спасибо
Здравствйте. У меня возникла проблема с шиной i2c на контроллере stm32f103c8t6. В CubeMX настроил i2c1 сгенерировал проект, подключил датчик si7021 и все заработало. Но когда решил перенаправить шину на другие ножки с PB7,PB6 на PB8,PB9 через CubeMX и после генерации и заливки проекта не работает, выдает ерунду.. В чем может быть проблема?
Всем привет .А вопрос вот в чем . У меня есть много микросхем STC89C5xx . Скачал с keila прогу c51v956 . Установил . Если вкл keil5 то в нем нет этих микросхем. А в старых файлах у меня есть keil4 . Но когда я запускаю keil4 то открывается пустой keil. А что я хочу из этого. Если я могу писать в keil5 программы ,а у меня есть плата STM32F303Discovery. А в этой плате можно прошивать и другие микросхемы (я так думаю можно же прошить STC89C5xx )
Здравствуйте.
Никак не получается запустить проекты для STM32f7 в воркбенче.
Подскажите пожалуйста как переделать проект для Воркбенча в проект для Кейла.Просто выбрав в кубе кейл вместо воркбенча не дает результатов.
Спасибо
Владимир, здравствуйте! Прошу Вас сделать «поскриптум» к уроку №9! Считать температуру и подключить кнопки настройки.
Здравствуйте.
Проходя урок 73 (подключение emWin), собирал его в Кейле и столкнулся с такой проблемой.При попытке скомпилировать проект в консоли выходят ошибки:
compiling system_stm32f7xx.c…
../Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal.h(180): error: #20: identifier «HAL_StatusTypeDef» is undefined
HAL_StatusTypeDef HAL_Init(void);Может кто то сталкивался и знает решение.
Тоже столкнулся с токой проблемой, решил так:
1. В файле «main.h» заремить строку #include «stm32f7xx_hal.h».
2. В файле «LCDConf.c» добавить строку #include «stm32f7xx_hal.h».
3. В файле «stm32f7xx_it.c» строку «volatile GUI_TIMER_TIME OS_TimeMS;» исправил на «extern volatile GUI_TIMER_TIME OS_TimeMS;»
4. В файле «main.c» строку «LTDC_HandleTypeDef hltdc;» исправил на «extern LTDC_HandleTypeDef hltdc;»
Ещё ошибка была в файле «ltdc.c» в функции «void TFT_DisplayString(uint16_t Xpos, uint16_t Ypos, const uint8_t *Text, Text_AlignModeTypedef Mode)»
Keil возмущался на «const uint8_t *Text», пришлось удалить «const» в файлах «ltdc.c» и «ltdc.h».>>Здравствуйте.
>>Никак не получается запустить проекты для STM32f7 в воркбенче.
>>Подскажите пожалуйста как переделать проект для Воркбенча в проект для Кейла.
>>Просто выбрав в кубе кейл вместо воркбенча не дает результатов.
>>СпасибоИменно так. Нужно в Cube переключить в настройках и перегенерировать. Правда, с начала желательно поудалить из папки всё лишнее, оставить папки Inc и Src, а также кубовский файл с расширением «ioc» и файл .mxproject.
Спасибо за ответ, Evgeny.
Да, главная проблема была в инклюде «stm32f7xx_hal.h»
Хотя я так и не понял по какой причине Кейл так себя ведет.Есть еще один момент.
Собираю проект также под STM32F746-DISCO
С последних версий CubeMX, при настройке DMA2D, в функцию
«static void MX_DMA2D_Init(void)» прописываются две строки на которые ругаются компилятор, так как они относятся к другим микроконтроллерам:hdma2d.LayerCfg[1].AlphaInverted = DMA2D_REGULAR_ALPHA;
hdma2d.LayerCfg[1].RedBlueSwap = DMA2D_RB_REGULAR;После их комментирования все работает нормально и без ошибок.
С последним обновлением Version 4.22.1 STM32Cube V1.0 проблема осталась.
Как обойти эту особенность?Добрый вечер
Планируете ли вы сделать курс уроков по плате Open429I-C Package С, отладочный набор на базе микроконтроллера STM32F429IGT6 дисплей 7 дюймов, или Waveshare Core746I STM32F746IGT6
(http://www.waveshare.com/wiki/Open429I-C) -
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.