-=Женек=- 0 Posted August 2, 2019 · Report post Друзья, в генерируемых кубом проектах есть строки типа /* USER CODE BEGIN 4 */ /* USER CODE END 4 */ для того, чтобы туда можно было вставить свой код и куб при изменении настроек и повторной генерации проекта не трогал то, что внутри них. Однако в функции static void MX_GPIO_Init(void) нет директив для user_code Если я вставляю свои и даже пытаюсь соблюсти синтаксис и пишу /* USER CODE BEGIN GPIO_Init 2 */ - то куб при повторной генерации кода безжалостно эти строки удаляет. МОжно ли как-то обойти это? Quote Ответить с цитированием Share this post Link to post Share on other sites
Forger 0 Posted August 2, 2019 · Report post 17 minutes ago, -=Женек=- said: МОжно ли как-то обойти это? Не надо лазить внутрь кубовских функций, а сделайте свои, разместив их вызов в разрешенном кубом месте (сам удивляюсь, что пишу про это ). Но самое надежное и простое - удалить нафик этот куб, пока еще есть возможность это сделать Quote Ответить с цитированием Share this post Link to post Share on other sites
-=Женек=- 0 Posted August 2, 2019 · Report post 1 minute ago, Forger said: Если серьезно, то не надо лазить внутрь кубовских функций, а сделайте свои, разместив их вызов в разрешенном кубом мест Так я изначально так и сделал. Просто хочется более изящно. В других функциях я прямо внутри добавил, что хотел, а тут.... Quote Ответить с цитированием Share this post Link to post Share on other sites
Forger 0 Posted August 2, 2019 · Report post 1 minute ago, -=Женек=- said: Просто хочется более изящно. Изврат - использовать куб. Изящно - НЕ использовать куб. "использовать изящно куб" - это абсурд )) Quote Ответить с цитированием Share this post Link to post Share on other sites
jcxz 0 Posted August 2, 2019 · Report post 2 часа назад, Forger сказал: Но самое надежное и простое - удалить нафик этот куб, пока еще есть возможность это сделать Пока куб не пророс в мозг. Quote Ответить с цитированием Share this post Link to post Share on other sites
Forger 0 Posted August 2, 2019 · Report post 20 minutes ago, jcxz said: Пока куб не пророс в мозг. Когда прорастет, "пациент" полностью утрачивает возможность писать посты на форумах.... Если конечно в ST не предусмотрят эту возможность прямо в кубе Quote Ответить с цитированием Share this post Link to post Share on other sites
MasterElectric 0 Posted August 2, 2019 · Report post 3 hours ago, -=Женек=- said: Друзья, в генерируемых кубом проектах есть строки типа /* USER CODE BEGIN 4 */ /* USER CODE END 4 */ для того, чтобы туда можно было вставить свой код и куб при изменении настроек и повторной генерации проекта не трогал то, что внутри них. Нельзя задавать такие вопросы в пятницу Quote Ответить с цитированием Share this post Link to post Share on other sites
golf2109 0 Posted August 3, 2019 · Report post к сожалению, куб не так гибок и ваш финт думаю не возможен Quote Ответить с цитированием Share this post Link to post Share on other sites
serglg 0 Posted August 3, 2019 · Report post у меня в main есть места, где я правлю настройки GPIO после Куба в зависимости от необходимости смены конфигурации. Есть у меня такие выводы, что меняют своее назначение. Quote Ответить с цитированием Share this post Link to post Share on other sites
Forger 0 Posted August 3, 2019 · Report post 2 hours ago, serglg said: правлю настройки GPIO после Куба Тогда зачем вообще нужен этот куб? Quote Ответить с цитированием Share this post Link to post Share on other sites
Darth Vader 0 Posted August 3, 2019 · Report post 14 hours ago, -=Женек=- said: МОжно ли как-то обойти это? Нельзя. Авторы Куба не позволяют модифицировать эту функцию. Они считают, что нечего программисту лезть внутрь. Она самодостаточная и законченная. И правильно делают. 2 hours ago, serglg said: Есть у меня такие выводы, что меняют своее назначение. Так делайте это Кубом. Также, как вы это делали при начальных настройках выводов портов. Или делайте это своим кодом, но не внутри кубовских функций. Зачем лезть в них? Вы же сами сказали - в main(). Так и пишите там, а не внутри MX_GPIO_Init(). Quote Ответить с цитированием Share this post Link to post Share on other sites
serglg 0 Posted August 3, 2019 · Report post 10 hours ago, Darth Vader said: Или делайте это своим кодом, но не внутри кубовских функций. Зачем лезть в них? Вы же сами сказали - в main(). Так и пишите там, а не внутри MX_GPIO_Init(). Ну я так и сказал. Не лезу и не делаю внутри MX_GPIO_Init(). Quote Ответить с цитированием Share this post Link to post Share on other sites
serglg 0 Posted August 3, 2019 (edited) · Report post 11 hours ago, Forger said: Тогда зачем вообще нужен этот куб? Вы не поверите. :-) Мне просто лень создавать проект для Кейла. Тем более, что всё равно 256К флэша лежат без дела. :-) И от Куба у меня только "рыба", где я всё ставлю по своему. Ну и ряд HAL-ских функций, которые проверены, жить мне не мешают, не требуют большой производительности. Типа - работа с ЕЕПРОМ по I2C, UART и проч. Или к примеру мне нужна температура МК в процессе жизни. Чего я там буду сочинять? Задам в Кубе темп. сенсор к АЦП и возьму его через DMA (в цикличном режима). Но там, где дело серьезное, я могу вставить и работу с регистрами BSRR и BRR. Edited August 3, 2019 by serglg Quote Ответить с цитированием Share this post Link to post Share on other sites
Forger 0 Posted August 3, 2019 · Report post 8 minutes ago, serglg said: Мне просто лень создавать проект для Кейла. А пытаться обмануть куб и потом мудохаться с последствиями не лень? Quote Ответить с цитированием Share this post Link to post Share on other sites
Darth Vader 0 Posted August 3, 2019 · Report post 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() ли? Иначе, как всё это понимать? Quote Ответить с цитированием Share this post Link to post Share on other sites