Не обольщайтесь, не можете Ваше счастье что dosikus сейчас занят Потому что толковый совет может дать только тот, кто по теме сам шишек набил, а не только RM читал.
А проблема оказалась вовсе не в SPI. На него подключен дисплей от нокии 3410, у которого имеется нога DATA/COMMAND. Так вот, SPI просто был плохо (не во всех местах программы) синхронизирован с софтовым управлением этой ногой, из-за этого часть данных шла как команды (или наоборот). А стандартные примеры по SPI из RM работают. Теперь даже от одиночных трансферов отказался - завёл DMA и радуюсь Вот так-то
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Вернёмся к среде. Как я понял, читая форум емблоха, у автора сейчас нет времени заниматься разработкой. Вот назрел вопрос - а плагины к нему можно прицепить от того же Code::Blocks? Очень не хватает просмотра ресурсов, занятых в МК, как например это было сделано у почти усопшего Микрочипа.
как в EmBitz проект на HAL написанный импортить из последнего Keil? у меня при сборке не все так шеколадно и как Новичку мне не разобраться с этим еще файл *.s не такой как в Keil, при этом содержимое по суди вроде такое же, но в Keil оно без ведущих точек...
Скажите пожалуйста, почему во время выполнения программы в контроллере одна переменная начинает изменять другую хотя они ни как не связаны, а потом как переименуешь одну из них добавлением любого символа в конце названия переменной и после компиляции все работает нормально...
Скажите пожалуйста, почему во время выполнения программы в контроллере одна переменная начинает изменять другую
EmBitz имеет противную привычку повторно юзать предварительную компиляцию *.o - падают с системную папку темп, и уже от-туда копируются в папки проекта. Но перед началом компиляции файлы *.o в системных файлах не затираются в случае когда код не менялся. Оно придаёт заметное ускорение, и неуловимый баг. Когда имена новых переменных в машинном виде начинают совпадать со старыми.
Рецепт: снять галку - хронить *.o, и чистить ручным способом системную папку.
Вернёмся к среде. Как я понял, читая форум емблоха, у автора сейчас нет времени заниматься разработкой. Вот назрел вопрос - а плагины к нему можно прицепить от того же Code::Blocks? Очень не хватает просмотра ресурсов, занятых в МК, как например это было сделано у почти усопшего Микрочипа.
Тоже интересует данный вопрос. Очень не хватает, просмотра времени выполнения программы, такой как в компиляторах от микроэлектроники. Задаешь програмный таймер и ни в курсе что с ним, да как.
Считать тики затраченные на выполнение алгоритма средами встроенной отладки - практически нереально. Для этого применяют DWT счётчик, который встроен во все arm чипы без исключения. Например в кейле есть встроенный механизм активизации и мониторинга этого счётчика. Отчего использование DWT в собственном алгоритме при отладке под кейлом - уже невозможно.
EmBitz не использует DWT, но и нет запрета на использование со стороны программиста, что я считаю более выгодно. DWT - это 32бит счётчик тиков ядра, без прерываний и зависимостей. Обвязка окружения имеет связь с аппаратным модулем отладки, в котором есть 4 аппаратных точки остановки чтение/запись по указанным адресам. Большее количество точек остановки выполняется подменой этих адресов в самом отладчике на стороне большого компа.
Решил расчистить "рабочую зону" и раскидать все второстепенные функции в свои *.c файлы. Успел создать только Init.c и main.h. В итоге вижу проблему со сборкой и вроде как ошибок не указывает, но пишет: "Process terminated with status 1 (0 minutes, 0 seconds)" и не находит свой же *.elf. Всего-то - перекинул функции и создал хэдер.
Кстати, а тут хэдер другим цветом помечается:
Разницы нет - что писать через "", что через <>. В чём причина?
DAC_offset вероятно присутствует в заголовочном файле без extern, поэтому в каждом исходнике где есть этот заголовочный файл создается переменная с таким именем. Решение: в хедере написать extern, а в одном из исходников объявить эту переменную.
А что скажете по второй части вопроса? С разным определением в main.c и init.c хэдера main.h? Нервирует меня это несоответствие. А задать вопрос разработчику не могу - регистрацию по IP блокирует.
Кстати, а бинарник среда не делает? Мне иногда удобнее бинарник юзать.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 27
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения