Zandy



Ответы в темах

Просмотр 1 сообщения - с 1 по 1 (всего 1)
  • Автор
    Сообщения
  • в ответ на: Программирование МК STM32 #14373
    Zandy
    Участник

    Только недавно начал знакомиться с Вашими уроками. Уроки хорошие, слов нет. Но есть небольшие нюансики, о которых и хотел рассказать. Если брать ваши проекты (по ссылке «Исходный код»), то все компилируется, проблем нет. Но мне было интереснее делать все самому в соответствии с Вашими уроками. Тут и появились проблемы, проекты не компилируются. Ошибки, типа «декларация … не определена». Анализ показал, что в вашем и в моем случае разные версии стандартных файлов, которые CubeMX подсовывает в проект (наверное у меня более свежая версия CubeMX). Короче говоря, в одном из таких файлов автоматом присоединен файл main.h (кстати говоря, main.h тоже создается автоматически) со всеми вытекающими последствиями. А последствия такие. В ваших проектах в main.h подключены заголовочные файлы вами созданных файлов с прототипами функций, а так как main.h подсоединен не только к main.с, но и к др. файлам (писал выше), вылазят упомянутые выше ошибки.
    Бороться с этим надо так. Подключать «хедеры» только к сишным файлам, а не к другим хедерам. Вообще, в хедерах надо прописывать только прототипы функций, константы, и внешние переменные. Я так думаю, может и ошибаюсь в силу своей неопытности. Если не так, поправьте.

  • Автор
    Сообщения
  • в ответ на: Программирование МК STM32 #14373

    Zandy
    Участник
    • Оффлайн

    Только недавно начал знакомиться с Вашими уроками. Уроки хорошие, слов нет. Но есть небольшие нюансики, о которых и хотел рассказать. Если брать ваши проекты (по ссылке «Исходный код»), то все компилируется, проблем нет. Но мне было интереснее делать все самому в соответствии с Вашими уроками. Тут и появились проблемы, проекты не компилируются. Ошибки, типа «декларация … не определена». Анализ показал, что в вашем и в моем случае разные версии стандартных файлов, которые CubeMX подсовывает в проект (наверное у меня более свежая версия CubeMX). Короче говоря, в одном из таких файлов автоматом присоединен файл main.h (кстати говоря, main.h тоже создается автоматически) со всеми вытекающими последствиями. А последствия такие. В ваших проектах в main.h подключены заголовочные файлы вами созданных файлов с прототипами функций, а так как main.h подсоединен не только к main.с, но и к др. файлам (писал выше), вылазят упомянутые выше ошибки.
    Бороться с этим надо так. Подключать «хедеры» только к сишным файлам, а не к другим хедерам. Вообще, в хедерах надо прописывать только прототипы функций, константы, и внешние переменные. Я так думаю, может и ошибаюсь в силу своей неопытности. Если не так, поправьте.

Просмотр 1 сообщения - с 1 по 1 (всего 1)