А вменяемые -- это какие? На сайте арма есть GCC 7. К кейлу я не стал его прикручивать, а как автономный компайлер через make мои исходники собирает без проблем. Я, правда, без плюсов пишу.
VladislavS, для начало хотя бы ANSI C изучил. Тебе уже обьяснил что в С++ явное инстанцирование шаблона делается после реализации.
Реализация шаблонов должна быть определена в заголовочном файле, чтобы компилятор смог выполнить инстанцирование шаблона для любых аргументов, но можно скрыть реализацию, используя явное инстанцирование. В заголовочном файле при этом остаётся только объявление шаблонов, а реализация помещается в отдельный файл. Для всех возможных вариантов применения шаблонов в этом модуле выполняется явное инстанцирование
Изучай С++ и не умничай на форумах. Ты слушай что тебе люди говорят и не брызгай своей желчью. И завязывай уже KEIL убогим называть. В голове проблемы у тебя.
Если компилятор додумал твоих тараканов и проглотил это не значит что ты сделал по стандарту. Это ты еще MISRA C не юзал, там для тебя вообще полнейший АД будет. Более 500 правил.
_________________ Инженер R@D
Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.
Совершенно неожиданно столкнулся с проблемой, по всей видимости, настроек кейла. Перестал работать дебагинг. Создал новый проект, запускаю дебаг и... ничего. Указатель стоит на функции main() и дальше двигаться не желает: Спойлер
Делаю сброс, после чего начинается начальная инициализация, которая останавливается на импорте SystemInit и далее так же не движется: Спойлер
Уже глаз дергается, но понимания где косячу так и нет
Там я все на 10 раз перепроверил уже, в приложении скрин на всякий. Я вот еще что заметил, проблема не только в дебаге - проект собирается, благополучно отправляется в МК, но при этом загруженный в него код не исполняется. В режиме дебага руками потыкал регистры - реагирует адекватно, что случилось?
у вас компилятор не видит типа I2C_HandleTypeDef, а не структуры hi2c1. вам надо там, где эта структура упоминается/используется (или указатель на неё) подключить соответствующий хедер из HAL, где выполнено описание этого типа
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
А в других фалах эти функции прописываются с extern в хэдере. Все работает, но мне бы все равно хотелось узнать есть ли альтернативное решение это проблемы со структурами.
Добавлено after 4 minutes 50 seconds: Описание этого типа находится в "stm32f2xx_hal_i2c.h", который у меня подключен, иначе бы функции HAL_I2C_Mem_Read, HAL_I2C_Mem_Write не были бы видны, они описаны там же.
_________________ Я конечно все понимаю, но этого я не понимаю.
Действительно в main.c было #include "main.h" #include "stm32f2xx_hal.h", а не наоборот. Но на количество ошибок это не повлияло. В остальных файлах вроде в правильном порядке.
Заголовок сообщения: Re: STM32 новичку в ARM что к чему
Добавлено: Пт авг 03, 2018 15:34:13
Друг Кота
Карма: 38
Рейтинг сообщений: 618
Зарегистрирован: Пн апр 06, 2015 11:01:53 Сообщений: 3092 Откуда: москва, уфа
Рейтинг сообщения:0
в main.h подцепите stm32f2xx_hal.h , иначе на момент объявления там переменной этот тип еще не описан
или нет. Чот запутался.
что происходит: при попытке компиляции файла adxl345.c с раскомментированными в adxl345.h строчками с extern I2C_HandleTypeDef hi2c1, ADXL_WriteData и ADXL_ReadData оно не может найти тип I2C_HandleTypeDef?
в stm32f2xx_hal_conf.h раскомментировано #define HAL_I2C_MODULE_ENABLED?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения