Top.Mail.Ru
Уведомления
Очистить все

[Закреплено] STM32 для начинающих

Страница 1 / 18
Aveal
(@aveal)
Top level Admin

В этой теме можно публиковать вопросы, которые недостаточно глобальны для создания отдельной темы, но тем не менее являются довольно животрепещущими 🙂 

Цитата
Создатель темы Размещено : 25.08.2021 09:13
(@zhukalex)
Level 1

День добрый. Столкнулся вот с каким вопросом. Есть некоторая библиотека. Рабочая, в других проектах компилится. Подскажите, где я что-то делаю не так.

2021 09 02 150103
2021 09 02 145956
2021 09 02 145906

 

ОтветитьЦитата
Размещено : 02.09.2021 15:04
Aveal
(@aveal)
Top level Admin

@zhukalex 

ucg_t - это тип данных

В функцию ucg_DrawBox первым аргументом надо передать экземпляр этого типа данных, например:

ucg_t myUcg;

ucg_DrawBox(&myUcg, 0, 0, 35, 35);

Соответственно, далее уже зависит от того, что такое ucg_t.

ОтветитьЦитата
Создатель темы Размещено : 02.09.2021 15:11
(@zhukalex)
Level 1

ucg_DrawBox(&ucg, 0, 0, 160,128 );

К примеру вот так. И это скопировано из рабочей программы. Вставляю в свою и ошибка все та же.

ОтветитьЦитата
Размещено : 02.09.2021 15:15
Aveal
(@aveal)
Top level Admin

@zhukalex Переменная ucg не объявлена.

ОтветитьЦитата
Создатель темы Размещено : 02.09.2021 15:21
(@zhukalex)
Level 1

Наконец-то добрался написать ответ. Действительно, не объявлена была переменная. Благодаря админу многие вещи стали понятны и в принципе разобрался в них. Спасибо большое за Ваш титанический труд!!! 

ОтветитьЦитата
Размещено : 06.09.2021 11:26
Aveal
(@aveal)
Top level Admin

@zhukalex Отлично!

ОтветитьЦитата
Создатель темы Размещено : 06.09.2021 14:54
(@novichok)
New member

помогите пожалуйста с HID

extern USBD_HandleTypeDef *hUsbDevice_0;
extern uint8_t dataToReceive[4];
extern uint8_t dataToSend[4];
extern FlagStatus USBDatainReady;

/*/*

Usb HID report descriptor. 

*/*/

Static int8_t CUSTOM_HID_OutEvent_FS(uint8_t event_idx, uint8_t state)
{
/* USER CODE BEGIN 6 */

USBD_CUSTOM_HID_HandleTypeDef *hhid = (USBD_CUSTOM_HID_HandleTypeDef*)hUsbDevice_0->pClassData;

for (uint8_t i = 0; i < 4; i++)
{
dataToReceive[i] = hhid->Report_buf[i]; // To read usb data from PC
}
USBDatainReady = SET;

return (USBD_OK);

 

выдает ошибку undefined reference to "dataToReceive" не смотря на то что массив сделал даже глобальным 

объясните пожалуйста это глюк кубы или я что-то не то нажимаю

 

ОтветитьЦитата
Размещено : 08.07.2022 10:41
Aveal
(@aveal)
Top level Admin

@novichok привет, а можешь проект выложить?

ОтветитьЦитата
Создатель темы Размещено : 08.07.2022 13:59
(@aleksej-6)
Level 3

Доброго времени )

Я как самый начинающий (с микроконтроллерами STM32) для начала помигал светодиодом, кнопку подключил. Программа stm32cubeide, плата BlackPill на F411.

 

https://www.youtube.com/watch?v=YcoStSkIzqY  

Ролик подключения круглого IPS дисплея.

 

https://bitbucket.org/nadyrshin_ryu/gc9a01_stm32f411/downloads/

(ссылка для скачивания из ролика, в нём всё есть)

 

Скачал, откомпилировал и загрузил в контроллер - всё работает ) Но при попытке изменить *.ioc файл (например подключить порт на вывод) при компиляции выдаёт бесчисленное количество ошибок в папке с драйверами на микроконтроллер...

 

Задача использовать готовую библиотеку управлением дисплея (именно того который в ролике, на том контроллере).

 

Подсказали что проект изначально сделан в другой версии программы.

То есть нужно полностью перенести все библиотеки на новый проект ?

(Так пробовал, но на выходе те же ошибки в папке с драйверами на микроконтроллер...)

Или же может я не правильно подключаю библиотеки или ещё чего.

 

(Ещё раз, проект по ссылке собирается, компилируется. но при попытке изменить *.ioc файл и последующей компиляции несколько сотен ошибок...)

ОтветитьЦитата
Размещено : 12.07.2022 15:05
Aveal
(@aveal)
Top level Admin

@aleksej-6 Добрый вечер) А можешь выложить проект, который после изменений не собирается?

ОтветитьЦитата
Создатель темы Размещено : 12.07.2022 21:38
(@aleksej-6)
Level 3

https://disk.yandex.ru/d/ZTDUg31Fzq8efw

Вот. Только добавил библиотеки и сразу ошибки (

ОтветитьЦитата
Размещено : 13.07.2022 03:21
(@aleksej-6)
Level 3
изображение 2022 07 13 130346893

ошибки ... 

два проекта открыты, ошибки от моего...

(что то не так делаю...)

ОтветитьЦитата
Размещено : 13.07.2022 04:04
Aveal
(@aveal)
Top level Admin

Исправил - https://disk.yandex.ru/d/742aOCo9wWQ3jQ

В spim.c поменял:

#include <stm32f4xx_hal_spi.h>

на:

#include "stm32f4xx_hal.h"

Аналогично в gpio.h и в gc9a01a.c:

#include <stm32f4xx_hal_gpio.h>
#include <stm32f4xx_hal_rcc.h>

тоже на:

#include "stm32f4xx_hal.h"

В main.c убираем повторное объявление:

DMA_HandleTypeDef hdma_spi1_tx;
ОтветитьЦитата
Создатель темы Размещено : 13.07.2022 08:21
(@aleksej-6)
Level 3

@aveal

Просто огромное СПАСИБО !!!  Всё заработало ! 

 

Если бы не Вы я эту программу так бы и не "запустил". 

(куда я только не задавал вопросы, к кому только не обращался..) 

 

 

 

ОтветитьЦитата
Размещено : 13.07.2022 14:11
Страница 1 / 18
Поделиться: