Перейти к содержанию
    

Друзья, в генерируемых кубом проектах есть строки типа

/* USER CODE BEGIN 4 */

/* USER CODE END 4 */

для того, чтобы туда можно было вставить свой код и куб при изменении настроек и повторной генерации проекта не трогал то, что внутри них.

Однако в функции static void MX_GPIO_Init(void)
нет директив для user_code

Если я вставляю свои и даже пытаюсь соблюсти синтаксис и пишу /* USER CODE BEGIN GPIO_Init 2 */ - то куб при повторной генерации кода безжалостно эти строки удаляет.

МОжно ли как-то обойти это?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 minutes ago, -=Женек=- said:

МОжно ли как-то обойти это?

Не надо лазить внутрь кубовских функций, а сделайте свои, разместив их вызов в разрешенном кубом месте (сам удивляюсь, что пишу про это :fool:).

Но самое надежное и простое - удалить нафик этот куб, пока еще есть возможность это сделать :dirol:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, Forger said:

Если серьезно, то не надо лазить внутрь кубовских функций, а сделайте свои, разместив их вызов в разрешенном кубом мест

Так я изначально так и сделал. Просто хочется более изящно. В других функциях я прямо внутри добавил, что хотел, а тут....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, -=Женек=- said:

Просто хочется более изящно.

Изврат - использовать куб. Изящно - НЕ использовать куб.

"использовать изящно куб" - это абсурд ))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, Forger сказал:

Но самое надежное и простое - удалить нафик этот куб, пока еще есть возможность это сделать :dirol:

Пока куб не пророс в мозг.  :wacko:  :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

20 minutes ago, jcxz said:

Пока куб не пророс в мозг.  :wacko:  :biggrin:

Когда прорастет, "пациент" полностью утрачивает возможность писать посты на форумах.... Если конечно в ST не предусмотрят эту возможность прямо в кубе :laugh1:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, -=Женек=- said:

Друзья, в генерируемых кубом проектах есть строки типа


/* USER CODE BEGIN 4 */

/* USER CODE END 4 */

для того, чтобы туда можно было вставить свой код и куб при изменении настроек и повторной генерации проекта не трогал то, что внутри них.

Нельзя задавать такие вопросы в пятницу :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у меня в main есть места, где я правлю настройки GPIO после Куба в зависимости от необходимости смены конфигурации. Есть у меня такие выводы, что меняют своее назначение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 hours ago, serglg said:

 правлю настройки GPIO после Куба

Тогда зачем вообще нужен этот куб?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

14 hours ago, -=Женек=- said:

МОжно ли как-то обойти это?

Нельзя. Авторы Куба не позволяют модифицировать эту функцию. Они считают, что нечего программисту лезть внутрь. Она самодостаточная и законченная. И правильно делают.

 

2 hours ago, serglg said:

Есть у меня такие выводы, что меняют своее назначение.

Так делайте это Кубом. Также, как вы это делали при начальных настройках выводов портов.

Или делайте это своим кодом, но не внутри кубовских функций.

Зачем лезть в них? Вы же сами сказали - в main(). Так и пишите там, а не внутри MX_GPIO_Init().

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 hours ago, Darth Vader said:

 

Или делайте это своим кодом, но не внутри кубовских функций.

Зачем лезть в них? Вы же сами сказали - в main(). Так и пишите там, а не внутри MX_GPIO_Init().

Ну я так и сказал. Не лезу и не делаю внутри MX_GPIO_Init(). 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

11 hours ago, Forger said:

Тогда зачем вообще нужен этот куб?

 

Вы не поверите. :-)

Мне просто лень создавать проект для Кейла. Тем более, что всё равно 256К флэша лежат без дела. :-)

И от Куба у меня только "рыба", где я всё ставлю по своему.

Ну и ряд HAL-ских функций, которые проверены, жить мне не мешают, не требуют большой производительности. Типа - работа с ЕЕПРОМ по I2C, UART и проч.

Или к примеру мне нужна температура МК в процессе жизни. Чего я там буду сочинять? Задам в Кубе темп. сенсор к АЦП и возьму его через DMA (в цикличном режима).

Но там, где дело серьезное, я могу вставить и работу с регистрами BSRR и BRR.

 

Изменено пользователем serglg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 minutes ago, serglg said:

Мне просто лень создавать проект для Кейла. 

А пытаться обмануть куб и потом мудохаться с последствиями не лень?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

53 minutes ago, serglg said:

Ну я так и сказал. Не лезу и не делаю внутри MX_GPIO_Init(). 

А это как понимать:

On 8/2/2019 at 7:33 PM, -=Женек=- said:

Однако в функции static void MX_GPIO_Init(void)
 нет директив для user_code

Если я вставляю свои и даже пытаюсь соблюсти синтаксис и пишу

Что значит "вставлять свои"? Что свои? Куда вставлять?

Уж не в MX_GPIO_Init() ли? Иначе, как всё это понимать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...