К примеру создается ТЗ, пишутся програмные модули, проверяются по отдельности. Ура все работает. Следующий шаг, собираем модули(библиотеки) воедино и получаем результат не отвечающий поставленной задаче. Возвращаемся к нулевому циклу(выбор железа), находим подходящее по спецификации поставленых задачь, процесс изучения начинается заново. Почему, да потому что это у AVR перифирия почти неизменна и достаточно проста для изучения. У ARM независимо от производителя все гараздо сложнее. Возьмем к примеру LTDC, QSPI, привязка новых устройств к файловой системе, оптимизация алгоритмов вывода изображений наTFT.
И как вы думаете, у многих ли здесь есть опыт общения с Ф446 или Ф7 ?
Думаю что здесь не многие имеют опыт работы, я с F7 тоже буду общаться впервые когда он приедет. a5021, название темы почитайте и вам все будет ясно, она и создана чтобы спрашивать или делится идеями по програмированию. По поводу CD или flash работающей по QSPI. Мне ненужно таскать содержимое с устройства на устройство, там будет хранится определенная информация, как ОС в планшете, спрайты как Nextion, шрифты для разных языков и т д.
a5021, название темы почитайте и вам все будет ясно, она и создана чтобы спрашивать или делится идеями по програмированию.
И что ж вы не делитесь? Вы то меня задалбывали бредом, что у F030 нет ни одного таймера наружу, то капризничали, что я не должен "пересказывать то что давно опиано на просторах тырнета" (чего вы никогда не видели и не могли видеть), наконец, мечтательно рассказывали о том, как это хорошо и здорово, иметь старший камень в линейке и для убедительности сыпали разнообразными аббревиатурами. И где тут "название темы" ?
Хрена ли вы мне постоянно какие-то упреки выставляете, придумывая небылицы для убедительности, если сами занимаетесь полнейшей херней и бессвязными рассуждениями ни о чем?
Да пока делиться особо не чем. Все что я знаю можно узнать набрав в google запрос. Пока идет платка с F7 изучаю HAL, т.к. работать сним в CMSIS уверен геморой еще тот, конкретно разбираюсь с QSPI и хочу его скрестить с фаловой системой чтобы потом сделать загркзку в 25Q128 через USB бинарников.
А зачем вам вообще F7, если вы все время вспоминаете экран и файловую систему? Для этого существуют SoC с линуксом или андроидом на борту. Там все это и много чего еще есть искаропки, чтобы не изобретать велосипедов.
А зачем вам вообще F7, если вы все время вспоминаете экран и файловую систему? Для этого существуют SoC с линуксом или андроидом на борту. Там все это и много чего еще есть искаропки, чтобы не изобретать велосипедов.
Не все так чудесно, есть у меня raspberi pi2. Можно и на нем собрать проект, получится раза в два дороже.. Прототип собран на A10, там WinXP. И в конечном итоге его цена выростает до 500000 у производителя. Все повторено на mega2560, вот только вывод графики тормозной, не хватает производительности у него на все задачи.
Очень похоже на пургу. Проект, который работает на меге, но требует F7, где последний оказывается в два раза дешевле распбери 2 и все это за пол-мульта у производителя. Ага.
digger67, писал: "Все повторено на mega2560, вот только вывод графики тормозной, не хватает производительности у него на все задачи".
Блин .. Вы же вроде как сами писали выше что "камень надо выбирать под задачу", а сами во что упираетесь? Ну нет среди задач "мег" и 2560 - не исключение, задач "вывода графики". Ну и остальные предложения как-то не очень "стыкуются" по смыслу, соглашусь...
Не согласуется, потому что у вас напрочь отсутствует логическое мышление. По пунктам, увидел устройство, захотел создать что то подобное, попробовал на mega2560. Чем больше модулей подключалось, тем больше убеждался что камень не справляется. Взял f103, переложил проект на него, неустроило. Попробовал F429, снова не достиг желаемого результата. Решил попробовать F746, тем более там уже стоит 16Мбайт SDRAM. И все это за 1800 р.
Просто ставим единицы и нули, что включить, что выключить. Единственная заковыка, регистр
I2C1->TIMINGR
Его значение для разных частот самого камня и интерфейса I2C нужно вычислять специально. Где-то на сайте ST был даже экселевский макрос для этого рассчета.
Инициализация-то простая, я больше мучался с передачей и приёмом. Сниппеты не очень информативны на этот счёт.
Вообще, первый раз работал с IIC. День прошёл не зря, теперь в моём внутреннем резюме стоит "работал со всеми интерфейсами STM32F030".
Завтра попробую помучить гироскоп FXAS21002, тоже IIC, и лежат 4 нераспаянных SI7021, ждут своего подключения...
Теперь описать любой ввод/вывод по I2C можно просто комбинируя вышеприведенные макросы. Вот так, например, может быть составлена функция чтения калибровочных данных датчика BMP180:
Ну да, для f4XX уже наверное HAL лучше юзать. А для f7XX альтернативы просто нет. Использовать CMSIS наверное для некоторой периферии будет проблематично. Что касается I2C проблем при работе со всякого рода датчиками нет, а вот с flash памятью на младших линейках есть косяки. Ну и есть недостаток в использоваии CMSIS, частенько одни и теже регистры в разных линейках имеют разные дефайны, что приводит к ошибкам при переносе с одной линейки на другую. А поиск ошибки занимает времени больше чем написание программы заново.
Ну да, для f4XX уже наверное HAL лучше юзать. А для f7XX альтернативы просто нет.
Свежачок с my.st.com, как раз из темы про F7: "Please make SPL for all new MCU, because HAL is killing us."
Если SPL можно назвать просто уродством, то для характеристики HAL-а такого эпитета будет уже недостаточно. Дерзайте. Изучайте HAL, как изучали SPL в свое время. Глядишь, через годик-другой, ST похоронит HAL и выкатит еще какой-нибудь отстой. Ну, чтобы потребители не скучали.
Цитата:
Использовать CMSIS наверное для некоторой периферии будет проблематично.
Чевойта вдруг? Регистры оживут и начнут разбегаться в разные стороны?
Цитата:
Что касается I2C проблем при работе со всякого рода датчиками нет, а вот с flash памятью на младших линейках есть косяки.
Боюсь даже спрашивать. В прошлый раз подобное любопытство обошлось мне в три дня объяснений, как из F4P6 достать наружу таймеры. Что, теперь флеш отказывается выходить?
Цитата:
Ну и есть недостаток в использоваии CMSIS, частенько одни и теже регистры в разных линейках имеют разные дефайны, что приводит к ошибкам при переносе с одной линейки на другую. А поиск ошибки занимает времени больше чем написание программы заново.
Я спокойно таскаю взад-вперед собственный код между F030, STM8S и ATMEGA8, а вы мне тут леденящие душу истории про внутривидовое портирование рассказываете.
Я уже говорил, вы слушаете только себя. Но возвращаться к этому вопросу, просто не уважать себя и тратить время на человека который по всей видимости работал с камнями от stm за три копейки с периферией как у mega8. Может я и не прав, только ваши посты говорят об этом. Вы все время пытаетесь изобрести велосипед. Что касается разного рода библиотек, то я обычно вношу правки в стандартные библиотеки, если это оправдано и приводит к оптимизации.
Вообще-то я ваши слова комментировал. Не находите, что это сделать было бы весьма затруднительно, если бы я слушал только себя? Ваше вступление: "Я уже говорил...", так и вовсе наводит на грусные мысли, если вспомнить чего вы вообще здесь успели наговорить.
Цитата:
Но возвращаться к этому вопросу, просто не уважать себя и тратить время на человека который по всей видимости работал с камнями от stm за три копейки с периферией как у mega8.
Как странно. Вы только что тратили свое время, отвечая Yarik.Yar по поводу "камня от stm за три копейки с периферией как у mega8". Не уважали себя, выходит? Даже какие-то собственные коды, ручной работы, приводили. Правда, они как-то подозрительно похожи на примеры из SPL пятилетней давности, да и совсем для других МК, но это не первый случай, когда вы промахиваетесь с темой, т.ч. наверное не стоит на это обращать внимание и придираться лишний раз.
Цитата:
Вы все время пытаетесь изобрести велосипед.
Ну раз вы не хотите изобретать здесь космический корабль, я, чтобы тема не завяла, велосипедами пробавляюсь. Что ж тут плохого? Вы постоянно надрываетесь здесь в претензиях, что я делаю это не так, то не эдак, но сами не делаете вообще ничего. Ну и хрен здесь тухлый бубнеж устраивать? Либо ведите тему за собой, либо помалкивайте, когда это делают другие.
Нет, чтобы захреначить что-нибудь такое, отчего бы все рты поразевали, вы какими-то полуистлевшими SPL-примерами трясете, да еще и в ответ на сообщение о использовании подхода "CMSIS-онли". Вот это называется "слушать только себя". Он вам про CMSIS, а вы ему: "вот тебе мои SPL-примеры".
Цитата:
Что касается разного рода библиотек, то я обычно вношу правки в стандартные библиотеки, если это оправдано и приводит к оптимизации.
У меня волосы встают дыбом, как представлю, чего вы можете туда навносить.
Незнайка a5021 опять жидко обосрался с головы до ног. )))))))))))))))))
"Твоя" форма инита горячо обсуждалась лет несколько назад на элхе. Как вариант, не более. Мне, например, такая форма не нравится. Не нравится своим заведомым излишеством.
И HAL, при жирных камнях и неторопливых задачах периферии, имеет право на жизнь, как бы там что не говорили. Это типа ардуины для СТМ, но не ардуина во всех её скверных проявлениях. И чё ты докопался до diger67, что ты знаешь о его задаче? А ничего! Если у него в приоритете только вывод на ТФТ, а всё остальное со скоростью черепахи, то HAL вполне может прокатить. Небольшое снижение производительности и разрастание размера кода для жирного МК не особо существенно. Тем более что он заявил, что не боится править либы, даже стандартные. Т.е. всё вполне логично - запускает "как есть", потом допиливает узкие места до нужной кондиции. С учётом освоения новой периферии ещё и неизвестно что по времени будет лучше, а при наличии большого количества либ верхнего уровня применение HAL может быть и оправданым в его случае.
увидел устройство, захотел создать что то подобное, попробовал на mega2560. Чем больше модулей подключалось, тем больше убеждался что камень не справляется. Взял f103, переложил проект на него, неустроило. Попробовал F429, снова не достиг желаемого результата. Решил попробовать F746, тем более там уже стоит 16Мбайт SDRAM. И все это за 1800 р.
А узкие места не пробовали выделять? Задачу переосмыслить, не?
Ну и есть недостаток в использоваии CMSIS, частенько одни и теже регистры в разных линейках имеют разные дефайны, что приводит к ошибкам при переносе с одной линейки на другую. А поиск ошибки занимает времени больше чем написание программы заново.
Надумано. HAL тоже изобилует подобными ошибками. Следить за периферией задача кодера.
Замечания справедливые, вот только если скорость вывода ниже необходимой, единственный способ это использование чипа с более высокой тактовой частотой. И ни какая оптимизация здесь не поможет, тем более что оптимизировать дальше не куда, кроме как оставить тело main и вложенный в него while() пустыми. Что касается SPL и HAL. Думаю совершенно ошибочно сравнивать их с ардуино. Опять же осуждать людей юзающих исключительно CMSIS, ну не дано им. Им только кажется что они досканально знают все изнутри. А по сути используют понятные только им макросы и определения, и их каляки моляки также требуют глубокого изучения. Это как Linux, сколько ламеров, столько сборок, которые корректно работают только на одной отдельно взятой задаче.
Замечания справедливые, вот только если скорость вывода ниже необходимой, единственный способ это использование чипа с более высокой тактовой частотой. И ни какая оптимизация здесь не поможет, тем более что оптимизировать дальше не куда, кроме как оставить тело main и вложенный в него while() пустыми.
Всё относительно. Если у вас при работе с ТФТ всё упирается в обработку данных, то да, более мощный камень неизбежен. А если всё упирается в ограничения периферии - либо другой камень, либо оптимизация вывода. Но тогда уже всё упирается в ваши знания и понимание работы периферии камня.
Цитата:
Что касается SPL и HAL. Думаю совершенно ошибочно сравнивать их с ардуино.
Почему? SPL и HAL тоже типа "не надо думать", как и ардуина. Т.е. силикон для мозгов, размер становится больше, а толку с этого аж никакого.
Цитата:
Опять же осуждать людей юзающих исключительно CMSIS, ну не дано им. Им только кажется что они досканально знают все изнутри. А по сути используют понятные только им макросы и определения, и их каляки моляки также требуют глубокого изучения.
Не дано им что? Это вам не дано знать то, что знают они. Может поэтому вы всё время переходите на более быстрый камень?
Цитата:
Это как Linux, сколько ламеров, столько сборок, которые корректно работают только на одной отдельно взятой задаче.
И тем не менее, линух в некоторых приложениях более предпочтителен.
Незнайка a5021 опять жидко обосрался с головы до ног. "Твоя" форма инита горячо обсуждалась лет несколько назад на элхе. Как вариант, не более.
Вы так убедительны, когда рассказываете о чем-то в этом своем припадке женской логики. Непонятно одно -- как вы вообще что-то ухитряетесь программировать с таким-то талантами?
Цитата:
И чё ты докопался до diger67, что ты знаешь о его задаче? А ничего!
Не только я. Похоже, что и он сам о ней ничего не знает.
Цитата:
Тем более что он заявил, что не боится править либы, даже стандартные.
Править стандартные либы -- занятие исключительно для высокоодаренных. Выйдет новая версия, потребуется по новой править и когда это случится, придется вспоминать все подробности прошлой правки. Для настоящих энтузиастов спортивного граблехождения, уникальная возможность заняться любимым делом с максимальной интенсивностью.
Цитата:
а при наличии большого количества либ верхнего уровня применение HAL может быть и оправданым в его случае.
Лучше бы вы лицом в навоз упали, чем такую херню нести.
Не только я. Похоже, что и он сам о ней ничего не знает.
Да, что-то не так, в королевстве датском. )))))))))
Цитата:
Править стандартные либы -- занятие исключительно для высокоодаренных. Выйдет новая версия, потребуется по новой править и когда это случится, придется вспоминать все подробности прошлой правки. Для настоящих энтузиастов спортивного граблехождения, уникальная возможность заняться любимым делом с максимальной интенсивностью.
Если с этого есть толк, то почему бы и нет? Как там, "Разрешено всё, что не запрещено."(с).
Цитата:
Лучше бы вы лицом в навоз упали, чем такую херню нести.
Не, ваше место мне ни к чему! ))))))))))))))))))
Если ему нужен результат при отсутствии знаний? Какой у него ещё есть выход?
Если ему нужен результат при отсутствии знаний? Какой у него ещё есть выход?
Да нет у него никакого выхода. Человек, не могущий найты каналы таймеров, когда в даташите на первой странице написано, что они есть, обречен. Он и погремушки дорогие покупает, чтобы повысить значимость своих занятий, главным образом, в собственных же глазах.
Файлово-экранные дела лучше на SoC-е делать, впрочем, об этом уже говорили.
ssss, RM для меня почти настольная книга, библиотеки на периферию от первой до последней строки просматриваются, чего вряд ли делают адепты CMSIS. По этой причине они пыжаться и пишут макросы которые работают в два раза медленнее чем немног правленная родная библа на C. Ну не идиотизм полностью гулять по регистру когда надо сменить пару бит. Вот и получается что только при инициализации периферии они теряют до 200 - 300 тактов. А все почему, да потому что не понимают как она работает, прочитали гдето, что CMSIS это библия для STM. А все остальное от лукавого. Профессиональный програмер умеет гибко использовать все доступные инструменты. Был у меня в практике опыт, использовал раннюю версию SPL для F4, начал изучать SRAM, косяк за косяком. Заставил работать, а потом оказалось надо было просто обновить библиотеку. Но фак остается факто, кто умеет заставить работать то что работать не должно имеет высшую цену.
a5021, нищеброды впихивающие свой тощий моск в рамки гениальности - это круть, завидую вашему апломбу!!!!!
библиотеки на периферию от первой до последней строки просматриваются, чего вряд ли делают адепты CMSIS.
А зачем им это делать, если они пишут свои, более лаконичные и более быстрые, да ещё и под задачу?
Цитата:
По этой причине они пыжаться и пишут макросы которые работают в два раза медленнее чем немног правленная родная библа на C. Ну не идиотизм полностью гулять по регистру когда надо сменить пару бит.
Вы о чём сейчас? Вы точно ничего не путаете?
Цитата:
Вот и получается что только при инициализации периферии они теряют до 200 - 300 тактов. А все почему, да потому что не понимают как она работает,
Как кто работает? СПЛ или ХАЛ? Они не работают, они создают видимость работы. Вы не наблюдаете там кучу левых телодвижений?
Цитата:
прочитали гдето, что CMSIS это библия для STM. А все остальное от лукавого.
СПЛ и ХАЛ написаны на основе CMSIS. А докажите обратное! Что CMSIS написан на основе СПЛ и ХАЛ!?
Цитата:
Профессиональный програмер умеет гибко использовать все доступные инструменты. Был у меня в практике опыт, использовал раннюю версию SPL для F4, начал изучать SRAM, косяк за косяком. Заставил работать, а потом оказалось надо было просто обновить библиотеку. Но фак остается факто, кто умеет заставить работать то что работать не должно имеет высшую цену.
Не совсем понял мысль. Но не суть! Вы профессиональный програмер? Тогда зацените спор на котах.
Цитата:
Ещё вопрос по N1616. Кто использовал его совместно с STM32F10x и SPI+DMA? Как в этом случае корректно передавать 9 бит через 16 без дезактивации через nCS?
Цитата:
У данного чипа нет возможности аппаратно передавать 9 бит по SPI линии. Только программная реализация.
Цитата:
Вроде уже делали и всё работало на максимальной скорости и на аппаратном SPI без дёргания CS. Перекодировку на лету ещё никто не отменял.
И кто из них прав? И можно ли передать 9 бит данные через SPI STM32F10x, ваше мнение, как профи?
Дефайны на проц не есть библиотека. Да, те кто пишет свои библиотеки претендуют на совершенство, но писал ранее вся их работа сизифов труд. Утверждение на оптимальность вводят пользователей в заблуждение. Все что пишут адепты CMSIS заточено под их узкую задачу, шаг влево шаг в право, зависание программы или полный лок камня. Знать CMSIS обязательно. Использование оного в чистом виде не гарантирует оптимальный вариант.
Что касается последнего вопроса, тут все без проблем. Я вижу решение в обычном сдвиге данных в регистре. Сейчас могу ошибится, но если старшим битом вперед, то сдвигаем 9 бит данных вверх, потом посылка и по CS high получаем то что нужно. Если знать алгоритм работы протокола то все становится ясно, а как решить задачу, это пристрастие програмера.
Гы. Представляю, какой бы вы закатили ор, скажи я такое. А тут, ну просто торжество дипломатии. Да-с, клевого вы себе единомышленничка подобрали.
Цитата:
Цитата:
Вот и получается что только при инициализации периферии они теряют до 200 - 300 тактов. А все почему, да потому что не понимают как она работает,
Как кто работает?
Дет Пихто. Маститытый программист-профессионал, в побитовой разблюдовке единичных присвоений, узрел множество отдельных операций. Примерно так 200-300, с его слов. Рентген, мать ети. Пожалуй, это еще более громкий и торжественный аккорд профессионализма, чем даже в случае с таймерами.
Сделаете вид, что еще не поняли?
Цитата:
Вы профессиональный програмер? Тогда зацените спор на котах.
А что даёт библиотека, кучу ненужного и не даёт то что нужно?
Цитата:
Да, те кто пишет свои библиотеки претендуют на совершенство, но писал ранее вся их работа сизифов труд.
Неужели? Но вы же правите и переписываете чужое? Тоже сизифов труд?
Цитата:
Утверждение на оптимальность вводят пользователей в заблуждение. Все что пишут адепты CMSIS заточено под их узкую задачу, шаг влево шаг в право, зависание программы или полный лок камня.
Смотрите пост выше! 9 бит СПИ на 103-ем камне. Может ваша либа передать 9 бит через СПИ в непрерывном пежиме хардварно?
Цитата:
Знать CMSIS обязательно. Использование оного в чистом виде не гарантирует оптимальный вариант.
Ваши либы уж точно ничего не гарантируют, однозначно. Особенно в плане оптимальности, ибо они избыточны изначально и не охватывают при этом всех возможных применений.
a5021, смотрите при компиляции лог asm и вы все поймете деточка. Хватит срать в теме, учитесь кодить на серьезном железеи, выскажите хоть раз свое мнеие, а не то что прочитали в интернете. А потом повторили на практике.
Гы. Представляю, какой бы вы закатили ор, скажи я такое. А тут, ну просто торжество дипломатии.
Не подсказывать! Мне и так уже весело! )))))))))))))))
Цитата:
Маститытый программист-профессионал, в побитовой разблюдовке единичных присвоений, узрел множество отдельных операций. Примерно так 200-300, с его слов. Рентген, мать ети. Пожалуй, это еще более громкий и торжественный аккорд профессионализма, чем даже в случае с таймерами.
Сделаете вид, что еще не поняли?
Та ладно! "А помнишь ... ?"(с) )))))))))))))))))))))))))))))
Ты тоже когда-то так неистово спорил... да и сейчас... порой... )))))))))))))))))))
Детишки, воспитание коллективом это в младшую группу яслей. Костность не есть признак мастерства. Вы тупо повторяете чужие ошибки. Еще раз повторюсь. Знание CMSIS помогает быстро и грамотно найти ошибку в любом примере. А таких ошибок в примерах ваших братьев хоть отбавляй. 90% работают на одной линейке, радуйтесь жизни ламеры.
Кстати. Меньший по объёму код не всегда самый быстрый.
Не объем кода решает оптимальность. Оптимизация это довольно интересный процесс, при котором имеет значение последовательность и дробление выполняемых задачь.
Опять же осуждать людей юзающих исключительно CMSIS, ну не дано им. Им только кажется что они досканально знают все изнутри. А по сути используют понятные только им макросы и определения, и их каляки моляки также требуют глубокого изучения
Не дано знать библиотеку высокого уровня? Это как говорить ассемблерщику, что ему не дано знать С и что ему всё только кажется. Использование своих "каляк-маляк" вполне оправдано - точно знаешь, что оно у тебя работает, а остальное и не особо важно - хобби для себя. Мой набор "каляк" прост, как бревно - числовые, вручную посчитанные значения, которые я заношу в регистры. Кстати, понемногу отхожу и от CMSIS в сторону чисто своих дефайнов.
А на счёт ошибок в CMSIS - я как-то неделю сношался с чем-то по SPI, а оно не работало. Использовал SPL. Что оказалось? Ах да, ошибочка в SPL, режим SPI не тот выбирался, бывает. Сколько работаю со своими макросами - такого не было. Библиотеки тоже свои пишу.
Нет особой разницы - учить регистры и их биты, либо учить определения чужой библиотеки, которую тоже кто-то делал так, как ему удобно. Лучше выучить регистры, а дефайны для них обозвать своими френдли именами.
Кстати. Меньший по объёму код не всегда самый быстрый.
Не объем кода решает оптимальность. Оптимизация это довольно интересный процесс, при котором имеет значение последовательность и дробление выполняемых задачь.
Для моих задач и способов их решения ваши либы категорически противопоказаны. Что поделать! Зато я свободен в выборе МК и решений задачи.
А поводу 9 бит СПИ совета профи так и не услышим? Не? Может либа СПЛ не той системы? )))))))))))))
Читать умеете, писал "могу ошибаться", так что свой сарказм засуньте, ну вы в курсе. По поводу профи. Сколько людей, столько вариантов решения задачи. И с этим вы думаю спорить не будите. Иначе вы просто параноик с обициями на маниюю....
Для моих задач и способов их решения ваши либы категорически противопоказаны. Что поделать! Зато я свободен в выборе МК и решений задачи.
Задачи помигать светодиодом, передать через блютуз или Wi-Fi, это для школьников, общаться с кирпичами где все описано в даташите ума не надо. А вот создать устройство имеющие свой интерфейс похожий на ОС требует немного больше усилий.
Ошибки есть везде. а вот умение их найти и исправить дано не каждому.
А где вы видели мои жалобы, открытые темы, вопросы по неработающим функциям или железу? Могу облегчить ваш труд - их нет нигде, ни на каком из форумов!
передать через блютуз или Wi-Fi, это для школьников, общаться с кирпичами где все описано в даташите ума не надо. А вот создать устройство имеющие свой интерфейс похожий на ОС требует немного больше усилий.
Перспектива человека-оркестра меня как-то не очень прельщает. Особенно глядя на отсутствие вашего результата.
Не дано знать библиотеку высокого уровня? Это как говорить ассемблерщику, что ему не дано знать С и что ему всё только кажется. Использование своих "каляк-маляк" вполне оправдано - точно знаешь, что оно у тебя работает, а остальное и не особо важно - хобби для себя. Мой набор "каляк" прост, как бревно - числовые, вручную посчитанные значения, которые я заношу в регистры. Кстати, понемногу отхожу и от CMSIS в сторону чисто своих дефайнов.
А на счёт ошибок в CMSIS - я как-то неделю сношался с чем-то по SPI, а оно не работало. Использовал SPL. Что оказалось? Ах да, ошибочка в SPL, режим SPI не тот выбирался, бывает. Сколько работаю со своими макросами - такого не было. Библиотеки тоже свои пишу.
Нет особой разницы - учить регистры и их биты, либо учить определения чужой библиотеки, которую тоже кто-то делал так, как ему удобно. Лучше выучить регистры, а дефайны для них обозвать своими френдли именами.
Всё вышесказанное - ИМХО.
Все что вы написали говорит о том что вы не умеете работать с документами. Я могу честно признаться что сколько не читал так и не смог понять пиципы работы USB. Читаешь вроде ни чего сложного, а на практике ступор. Для кого то это семечки, но не для меня. К чему это, да к тому что в оисании часто многое опускается, автор подразумевает что многое и так понятно. К стати библиотека SPL для f4 там есть косяк с работой BSRR, я для себя решил этот ворпрос исправив определения в CMSIS, В CMSIS, что для адептов кащумство.
К примеру создается ТЗ, пишутся програмные модули, проверяются по отдельности. Ура все работает. Следующий шаг, собираем модули(библиотеки) воедино и получаем результат не отвечающий поставленной задаче. Возвращаемся к нулевому циклу(выбор железа), находим подходящее по спецификации поставленых задачь, процесс изучения начинается заново. Почему, да потому что это у AVR перифирия почти неизменна и достаточно проста для изучения. У ARM независимо от производителя все гараздо сложнее. Возьмем к примеру LTDC, QSPI, привязка новых устройств к файловой системе, оптимизация алгоритмов вывода изображений наTFT.
И как вы думаете, у многих ли здесь есть опыт общения с Ф446 или Ф7 ?
Ему пофиг. Главное, чтобы все говорили о том, что интересно конкретно ему.
Думаю что здесь не многие имеют опыт работы, я с F7 тоже буду общаться впервые когда он приедет. a5021, название темы почитайте и вам все будет ясно, она и создана чтобы спрашивать или делится идеями по програмированию. По поводу CD или flash работающей по QSPI. Мне ненужно таскать содержимое с устройства на устройство, там будет хранится определенная информация, как ОС в планшете, спрайты как Nextion, шрифты для разных языков и т д.
И что ж вы не делитесь? Вы то меня задалбывали бредом, что у F030 нет ни одного таймера наружу, то капризничали, что я не должен "пересказывать то что давно опиано на просторах тырнета" (чего вы никогда не видели и не могли видеть), наконец, мечтательно рассказывали о том, как это хорошо и здорово, иметь старший камень в линейке и для убедительности сыпали разнообразными аббревиатурами. И где тут "название темы" ?
Хрена ли вы мне постоянно какие-то упреки выставляете, придумывая небылицы для убедительности, если сами занимаетесь полнейшей херней и бессвязными рассуждениями ни о чем?
Да пока делиться особо не чем. Все что я знаю можно узнать набрав в google запрос. Пока идет платка с F7 изучаю HAL, т.к. работать сним в CMSIS уверен геморой еще тот, конкретно разбираюсь с QSPI и хочу его скрестить с фаловой системой чтобы потом сделать загркзку в 25Q128 через USB бинарников.
А зачем вам вообще F7, если вы все время вспоминаете экран и файловую систему? Для этого существуют SoC с линуксом или андроидом на борту. Там все это и много чего еще есть искаропки, чтобы не изобретать велосипедов.
А зачем вам вообще F7, если вы все время вспоминаете экран и файловую систему? Для этого существуют SoC с линуксом или андроидом на борту. Там все это и много чего еще есть искаропки, чтобы не изобретать велосипедов.
Не все так чудесно, есть у меня raspberi pi2. Можно и на нем собрать проект, получится раза в два дороже.. Прототип собран на A10, там WinXP. И в конечном итоге его цена выростает до 500000 у производителя. Все повторено на mega2560, вот только вывод графики тормозной, не хватает производительности у него на все задачи.
Очень похоже на пургу. Проект, который работает на меге, но требует F7, где последний оказывается в два раза дешевле распбери 2 и все это за пол-мульта у производителя. Ага.
digger67, писал: "Все повторено на mega2560, вот только вывод графики тормозной, не хватает производительности у него на все задачи".
Блин .. Вы же вроде как сами писали выше что "камень надо выбирать под задачу", а сами во что упираетесь? Ну нет среди задач "мег" и 2560 - не исключение, задач "вывода графики". Ну и остальные предложения как-то не очень "стыкуются" по смыслу, соглашусь...
Не согласуется, потому что у вас напрочь отсутствует логическое мышление. По пунктам, увидел устройство, захотел создать что то подобное, попробовал на mega2560. Чем больше модулей подключалось, тем больше убеждался что камень не справляется. Взял f103, переложил проект на него, неустроило. Попробовал F429, снова не достиг желаемого результата. Решил попробовать F746, тем более там уже стоит 16Мбайт SDRAM. И все это за 1800 р.
А что это за удивительный проект?
Сегодня разобрался с I2C у STM32F030 CMSIS-онли без HALа. Большой шаг для меня, маленький шаг для всего человечества.
Написал функции записи/чтения и всего такого через UART (отчасти использовал консоль отсюда).
Причешу код - выложу.
Ах да, ещё я перешёл на 5 Keil, и он мне определённо нравится!)
I2C у F030 весьма простой. Вот вся инициализация:
Просто ставим единицы и нули, что включить, что выключить. Единственная заковыка, регистр
Его значение для разных частот самого камня и интерфейса I2C нужно вычислять специально. Где-то на сайте ST был даже экселевский макрос для этого рассчета.
Инициализация-то простая, я больше мучался с передачей и приёмом. Сниппеты не очень информативны на этот счёт.
Вообще, первый раз работал с IIC. День прошёл не зря, теперь в моём внутреннем резюме стоит "работал со всеми интерфейсами STM32F030".
Завтра попробую помучить гироскоп FXAS21002, тоже IIC, и лежат 4 нераспаянных SI7021, ждут своего подключения...
Сегодня разобрался с I2C у STM32F030 CMSIS-онли без HALа. Большой шаг для меня, маленький шаг для всего человечества.
Поздравляю это радует. Если интересно вот пример f103rb на SPL работа DMA mem-to-mem в CooCox:
Вот еще пример для f303 ADC:
Кому он нужен этот SPL нынче?
Передача с приемом тоже очень простые. Я вообще все макросами оформил, чтобы не дергаться каждый раз, куда какой бит пихать.
Теперь описать любой ввод/вывод по I2C можно просто комбинируя вышеприведенные макросы. Вот так, например, может быть составлена функция чтения калибровочных данных датчика BMP180:
Ну да, для f4XX уже наверное HAL лучше юзать. А для f7XX альтернативы просто нет. Использовать CMSIS наверное для некоторой периферии будет проблематично. Что касается I2C проблем при работе со всякого рода датчиками нет, а вот с flash памятью на младших линейках есть косяки. Ну и есть недостаток в использоваии CMSIS, частенько одни и теже регистры в разных линейках имеют разные дефайны, что приводит к ошибкам при переносе с одной линейки на другую. А поиск ошибки занимает времени больше чем написание программы заново.
Свежачок с my.st.com, как раз из темы про F7: "Please make SPL for all new MCU, because HAL is killing us."
Если SPL можно назвать просто уродством, то для характеристики HAL-а такого эпитета будет уже недостаточно. Дерзайте. Изучайте HAL, как изучали SPL в свое время. Глядишь, через годик-другой, ST похоронит HAL и выкатит еще какой-нибудь отстой. Ну, чтобы потребители не скучали.
Чевойта вдруг? Регистры оживут и начнут разбегаться в разные стороны?
Боюсь даже спрашивать. В прошлый раз подобное любопытство обошлось мне в три дня объяснений, как из F4P6 достать наружу таймеры. Что, теперь флеш отказывается выходить?
Я спокойно таскаю взад-вперед собственный код между F030, STM8S и ATMEGA8, а вы мне тут леденящие душу истории про внутривидовое портирование рассказываете.
Я уже говорил, вы слушаете только себя. Но возвращаться к этому вопросу, просто не уважать себя и тратить время на человека который по всей видимости работал с камнями от stm за три копейки с периферией как у mega8. Может я и не прав, только ваши посты говорят об этом. Вы все время пытаетесь изобрести велосипед. Что касается разного рода библиотек, то я обычно вношу правки в стандартные библиотеки, если это оправдано и приводит к оптимизации.
Вообще-то я ваши слова комментировал. Не находите, что это сделать было бы весьма затруднительно, если бы я слушал только себя? Ваше вступление: "Я уже говорил...", так и вовсе наводит на грусные мысли, если вспомнить чего вы вообще здесь успели наговорить.
Как странно. Вы только что тратили свое время, отвечая Yarik.Yar по поводу "камня от stm за три копейки с периферией как у mega8". Не уважали себя, выходит? Даже какие-то собственные коды, ручной работы, приводили. Правда, они как-то подозрительно похожи на примеры из SPL пятилетней давности, да и совсем для других МК, но это не первый случай, когда вы промахиваетесь с темой, т.ч. наверное не стоит на это обращать внимание и придираться лишний раз.
Ну раз вы не хотите изобретать здесь космический корабль, я, чтобы тема не завяла, велосипедами пробавляюсь. Что ж тут плохого? Вы постоянно надрываетесь здесь в претензиях, что я делаю это не так, то не эдак, но сами не делаете вообще ничего. Ну и хрен здесь тухлый бубнеж устраивать? Либо ведите тему за собой, либо помалкивайте, когда это делают другие.
Нет, чтобы захреначить что-нибудь такое, отчего бы все рты поразевали, вы какими-то полуистлевшими SPL-примерами трясете, да еще и в ответ на сообщение о использовании подхода "CMSIS-онли". Вот это называется "слушать только себя". Он вам про CMSIS, а вы ему: "вот тебе мои SPL-примеры".
У меня волосы встают дыбом, как представлю, чего вы можете туда навносить.
Незнайка a5021 опять жидко обосрался с головы до ног. )))))))))))))))))
"Твоя" форма инита горячо обсуждалась лет несколько назад на элхе. Как вариант, не более. Мне, например, такая форма не нравится. Не нравится своим заведомым излишеством.
И HAL, при жирных камнях и неторопливых задачах периферии, имеет право на жизнь, как бы там что не говорили. Это типа ардуины для СТМ, но не ардуина во всех её скверных проявлениях. И чё ты докопался до diger67, что ты знаешь о его задаче? А ничего! Если у него в приоритете только вывод на ТФТ, а всё остальное со скоростью черепахи, то HAL вполне может прокатить. Небольшое снижение производительности и разрастание размера кода для жирного МК не особо существенно. Тем более что он заявил, что не боится править либы, даже стандартные. Т.е. всё вполне логично - запускает "как есть", потом допиливает узкие места до нужной кондиции. С учётом освоения новой периферии ещё и неизвестно что по времени будет лучше, а при наличии большого количества либ верхнего уровня применение HAL может быть и оправданым в его случае.
увидел устройство, захотел создать что то подобное, попробовал на mega2560. Чем больше модулей подключалось, тем больше убеждался что камень не справляется. Взял f103, переложил проект на него, неустроило. Попробовал F429, снова не достиг желаемого результата. Решил попробовать F746, тем более там уже стоит 16Мбайт SDRAM. И все это за 1800 р.
А узкие места не пробовали выделять? Задачу переосмыслить, не?
Ну и есть недостаток в использоваии CMSIS, частенько одни и теже регистры в разных линейках имеют разные дефайны, что приводит к ошибкам при переносе с одной линейки на другую. А поиск ошибки занимает времени больше чем написание программы заново.
Надумано. HAL тоже изобилует подобными ошибками. Следить за периферией задача кодера.
Замечания справедливые, вот только если скорость вывода ниже необходимой, единственный способ это использование чипа с более высокой тактовой частотой. И ни какая оптимизация здесь не поможет, тем более что оптимизировать дальше не куда, кроме как оставить тело main и вложенный в него while() пустыми. Что касается SPL и HAL. Думаю совершенно ошибочно сравнивать их с ардуино. Опять же осуждать людей юзающих исключительно CMSIS, ну не дано им. Им только кажется что они досканально знают все изнутри. А по сути используют понятные только им макросы и определения, и их каляки моляки также требуют глубокого изучения. Это как Linux, сколько ламеров, столько сборок, которые корректно работают только на одной отдельно взятой задаче.
Замечания справедливые, вот только если скорость вывода ниже необходимой, единственный способ это использование чипа с более высокой тактовой частотой. И ни какая оптимизация здесь не поможет, тем более что оптимизировать дальше не куда, кроме как оставить тело main и вложенный в него while() пустыми.
Всё относительно. Если у вас при работе с ТФТ всё упирается в обработку данных, то да, более мощный камень неизбежен. А если всё упирается в ограничения периферии - либо другой камень, либо оптимизация вывода. Но тогда уже всё упирается в ваши знания и понимание работы периферии камня.
Что касается SPL и HAL. Думаю совершенно ошибочно сравнивать их с ардуино.
Почему? SPL и HAL тоже типа "не надо думать", как и ардуина. Т.е. силикон для мозгов, размер становится больше, а толку с этого аж никакого.
Опять же осуждать людей юзающих исключительно CMSIS, ну не дано им. Им только кажется что они досканально знают все изнутри. А по сути используют понятные только им макросы и определения, и их каляки моляки также требуют глубокого изучения.
Не дано им что? Это вам не дано знать то, что знают они. Может поэтому вы всё время переходите на более быстрый камень?
Это как Linux, сколько ламеров, столько сборок, которые корректно работают только на одной отдельно взятой задаче.
И тем не менее, линух в некоторых приложениях более предпочтителен.
Вы так убедительны, когда рассказываете о чем-то в этом своем припадке женской логики. Непонятно одно -- как вы вообще что-то ухитряетесь программировать с таким-то талантами?
Не только я. Похоже, что и он сам о ней ничего не знает.
Править стандартные либы -- занятие исключительно для высокоодаренных. Выйдет новая версия, потребуется по новой править и когда это случится, придется вспоминать все подробности прошлой правки. Для настоящих энтузиастов спортивного граблехождения, уникальная возможность заняться любимым делом с максимальной интенсивностью.
Лучше бы вы лицом в навоз упали, чем такую херню нести.
Не только я. Похоже, что и он сам о ней ничего не знает.
Да, что-то не так, в королевстве датском. )))))))))
Править стандартные либы -- занятие исключительно для высокоодаренных. Выйдет новая версия, потребуется по новой править и когда это случится, придется вспоминать все подробности прошлой правки. Для настоящих энтузиастов спортивного граблехождения, уникальная возможность заняться любимым делом с максимальной интенсивностью.
Если с этого есть толк, то почему бы и нет? Как там, "Разрешено всё, что не запрещено."(с).
Лучше бы вы лицом в навоз упали, чем такую херню нести.
Не, ваше место мне ни к чему! ))))))))))))))))))
Если ему нужен результат при отсутствии знаний? Какой у него ещё есть выход?
Да нет у него никакого выхода. Человек, не могущий найты каналы таймеров, когда в даташите на первой странице написано, что они есть, обречен. Он и погремушки дорогие покупает, чтобы повысить значимость своих занятий, главным образом, в собственных же глазах.
Файлово-экранные дела лучше на SoC-е делать, впрочем, об этом уже говорили.
ssss, RM для меня почти настольная книга, библиотеки на периферию от первой до последней строки просматриваются, чего вряд ли делают адепты CMSIS. По этой причине они пыжаться и пишут макросы которые работают в два раза медленнее чем немног правленная родная библа на C. Ну не идиотизм полностью гулять по регистру когда надо сменить пару бит. Вот и получается что только при инициализации периферии они теряют до 200 - 300 тактов. А все почему, да потому что не понимают как она работает, прочитали гдето, что CMSIS это библия для STM. А все остальное от лукавого. Профессиональный програмер умеет гибко использовать все доступные инструменты. Был у меня в практике опыт, использовал раннюю версию SPL для F4, начал изучать SRAM, косяк за косяком. Заставил работать, а потом оказалось надо было просто обновить библиотеку. Но фак остается факто, кто умеет заставить работать то что работать не должно имеет высшую цену.
a5021, нищеброды впихивающие свой тощий моск в рамки гениальности - это круть, завидую вашему апломбу!!!!!
ssss, RM для меня почти настольная книга,
Может "Не в коня корм."(с)?
библиотеки на периферию от первой до последней строки просматриваются, чего вряд ли делают адепты CMSIS.
А зачем им это делать, если они пишут свои, более лаконичные и более быстрые, да ещё и под задачу?
По этой причине они пыжаться и пишут макросы которые работают в два раза медленнее чем немног правленная родная библа на C. Ну не идиотизм полностью гулять по регистру когда надо сменить пару бит.
Вы о чём сейчас? Вы точно ничего не путаете?
Вот и получается что только при инициализации периферии они теряют до 200 - 300 тактов. А все почему, да потому что не понимают как она работает,
Как кто работает? СПЛ или ХАЛ? Они не работают, они создают видимость работы. Вы не наблюдаете там кучу левых телодвижений?
прочитали гдето, что CMSIS это библия для STM. А все остальное от лукавого.
СПЛ и ХАЛ написаны на основе CMSIS. А докажите обратное! Что CMSIS написан на основе СПЛ и ХАЛ!?
Профессиональный програмер умеет гибко использовать все доступные инструменты. Был у меня в практике опыт, использовал раннюю версию SPL для F4, начал изучать SRAM, косяк за косяком. Заставил работать, а потом оказалось надо было просто обновить библиотеку. Но фак остается факто, кто умеет заставить работать то что работать не должно имеет высшую цену.
Не совсем понял мысль. Но не суть! Вы профессиональный програмер? Тогда зацените спор на котах.
Ещё вопрос по N1616. Кто использовал его совместно с STM32F10x и SPI+DMA? Как в этом случае корректно передавать 9 бит через 16 без дезактивации через nCS?
У данного чипа нет возможности аппаратно передавать 9 бит по SPI линии. Только программная реализация.
Вроде уже делали и всё работало на максимальной скорости и на аппаратном SPI без дёргания CS. Перекодировку на лету ещё никто не отменял.
И кто из них прав? И можно ли передать 9 бит данные через SPI STM32F10x, ваше мнение, как профи?
Дефайны на проц не есть библиотека. Да, те кто пишет свои библиотеки претендуют на совершенство, но писал ранее вся их работа сизифов труд. Утверждение на оптимальность вводят пользователей в заблуждение. Все что пишут адепты CMSIS заточено под их узкую задачу, шаг влево шаг в право, зависание программы или полный лок камня. Знать CMSIS обязательно. Использование оного в чистом виде не гарантирует оптимальный вариант.
Что касается последнего вопроса, тут все без проблем. Я вижу решение в обычном сдвиге данных в регистре. Сейчас могу ошибится, но если старшим битом вперед, то сдвигаем 9 бит данных вверх, потом посылка и по CS high получаем то что нужно. Если знать алгоритм работы протокола то все становится ясно, а как решить задачу, это пристрастие програмера.
Гы. Представляю, какой бы вы закатили ор, скажи я такое. А тут, ну просто торжество дипломатии. Да-с, клевого вы себе единомышленничка подобрали.
Вот и получается что только при инициализации периферии они теряют до 200 - 300 тактов. А все почему, да потому что не понимают как она работает,
Дет Пихто. Маститытый программист-профессионал, в побитовой разблюдовке единичных присвоений, узрел множество отдельных операций. Примерно так 200-300, с его слов. Рентген, мать ети. Пожалуй, это еще более громкий и торжественный аккорд профессионализма, чем даже в случае с таймерами.
Сделаете вид, что еще не поняли?
Глупость какая. Ща он вам назаценивает.
Дефайны на проц не есть библиотека.
А что даёт библиотека, кучу ненужного и не даёт то что нужно?
Да, те кто пишет свои библиотеки претендуют на совершенство, но писал ранее вся их работа сизифов труд.
Неужели? Но вы же правите и переписываете чужое? Тоже сизифов труд?
Утверждение на оптимальность вводят пользователей в заблуждение. Все что пишут адепты CMSIS заточено под их узкую задачу, шаг влево шаг в право, зависание программы или полный лок камня.
Смотрите пост выше! 9 бит СПИ на 103-ем камне. Может ваша либа передать 9 бит через СПИ в непрерывном пежиме хардварно?
Знать CMSIS обязательно. Использование оного в чистом виде не гарантирует оптимальный вариант.
Ваши либы уж точно ничего не гарантируют, однозначно. Особенно в плане оптимальности, ибо они избыточны изначально и не охватывают при этом всех возможных применений.
a5021, смотрите при компиляции лог asm и вы все поймете деточка. Хватит срать в теме, учитесь кодить на серьезном железеи, выскажите хоть раз свое мнеие, а не то что прочитали в интернете. А потом повторили на практике.
Гы. Представляю, какой бы вы закатили ор, скажи я такое. А тут, ну просто торжество дипломатии.
Не подсказывать! Мне и так уже весело! )))))))))))))))
Маститытый программист-профессионал, в побитовой разблюдовке единичных присвоений, узрел множество отдельных операций. Примерно так 200-300, с его слов. Рентген, мать ети. Пожалуй, это еще более громкий и торжественный аккорд профессионализма, чем даже в случае с таймерами.
Сделаете вид, что еще не поняли?
Та ладно! "А помнишь ... ?"(с) )))))))))))))))))))))))))))))
Ты тоже когда-то так неистово спорил... да и сейчас... порой... )))))))))))))))))))
Он же начинающий, это сразу видно.
Детишки, воспитание коллективом это в младшую группу яслей. Костность не есть признак мастерства. Вы тупо повторяете чужие ошибки. Еще раз повторюсь. Знание CMSIS помогает быстро и грамотно найти ошибку в любом примере. А таких ошибок в примерах ваших братьев хоть отбавляй. 90% работают на одной линейке, радуйтесь жизни ламеры.
смотрите при компиляции лог asm и вы все поймете
Да не только лог АСМа приходится смотреть, а и анализатором пользоваться, и время функций считать. Только причём здесь это?
Кстати. Меньший по объёму код не всегда самый быстрый.
Еще раз повторюсь. Знание CMSIS помогает быстро и грамотно найти ошибку в любом примере.
Хоть это понимаете! Уже что-то. )))))))))))))
А таких ошибок в примерах ваших братьев хоть отбавляй.
А сестёр не забыли? ))))))))))))))))))
Докажите, что СПЛ и ХАЛ интуитивно исправляют любые ошибки юзера! Слабо? ))))))))))))))
Кстати. Меньший по объёму код не всегда самый быстрый.
Не объем кода решает оптимальность. Оптимизация это довольно интересный процесс, при котором имеет значение последовательность и дробление выполняемых задачь.
ssss. роль юродива вам не клицу. А темболее клоуна!!! Ошибки есть везде. а вот умение их найти и исправить дано не каждому.
Не дано знать библиотеку высокого уровня? Это как говорить ассемблерщику, что ему не дано знать С и что ему всё только кажется. Использование своих "каляк-маляк" вполне оправдано - точно знаешь, что оно у тебя работает, а остальное и не особо важно - хобби для себя. Мой набор "каляк" прост, как бревно - числовые, вручную посчитанные значения, которые я заношу в регистры. Кстати, понемногу отхожу и от CMSIS в сторону чисто своих дефайнов.
А на счёт ошибок в CMSIS - я как-то неделю сношался с чем-то по SPI, а оно не работало. Использовал SPL. Что оказалось? Ах да, ошибочка в SPL, режим SPI не тот выбирался, бывает. Сколько работаю со своими макросами - такого не было. Библиотеки тоже свои пишу.
Нет особой разницы - учить регистры и их биты, либо учить определения чужой библиотеки, которую тоже кто-то делал так, как ему удобно. Лучше выучить регистры, а дефайны для них обозвать своими френдли именами.
Всё вышесказанное - ИМХО.
радуйтесь жизни
Стараемся, как можем! )))))))))))))))
А поводу 9 бит СПИ совета профи так и не услышим? Не? Может либа СПЛ не той системы? )))))))))))))
Кстати. Меньший по объёму код не всегда самый быстрый.
Не объем кода решает оптимальность. Оптимизация это довольно интересный процесс, при котором имеет значение последовательность и дробление выполняемых задачь.
Для моих задач и способов их решения ваши либы категорически противопоказаны. Что поделать! Зато я свободен в выборе МК и решений задачи.
А поводу 9 бит СПИ совета профи так и не услышим? Не? Может либа СПЛ не той системы? )))))))))))))
Читать умеете, писал "могу ошибаться", так что свой сарказм засуньте, ну вы в курсе. По поводу профи. Сколько людей, столько вариантов решения задачи. И с этим вы думаю спорить не будите. Иначе вы просто параноик с обициями на маниюю....
Для моих задач и способов их решения ваши либы категорически противопоказаны. Что поделать! Зато я свободен в выборе МК и решений задачи.
Задачи помигать светодиодом, передать через блютуз или Wi-Fi, это для школьников, общаться с кирпичами где все описано в даташите ума не надо. А вот создать устройство имеющие свой интерфейс похожий на ОС требует немного больше усилий.
Ошибки есть везде. а вот умение их найти и исправить дано не каждому.
А где вы видели мои жалобы, открытые темы, вопросы по неработающим функциям или железу? Могу облегчить ваш труд - их нет нигде, ни на каком из форумов!
передать через блютуз или Wi-Fi, это для школьников, общаться с кирпичами где все описано в даташите ума не надо. А вот создать устройство имеющие свой интерфейс похожий на ОС требует немного больше усилий.
Перспектива человека-оркестра меня как-то не очень прельщает. Особенно глядя на отсутствие вашего результата.
Не дано знать библиотеку высокого уровня? Это как говорить ассемблерщику, что ему не дано знать С и что ему всё только кажется. Использование своих "каляк-маляк" вполне оправдано - точно знаешь, что оно у тебя работает, а остальное и не особо важно - хобби для себя. Мой набор "каляк" прост, как бревно - числовые, вручную посчитанные значения, которые я заношу в регистры. Кстати, понемногу отхожу и от CMSIS в сторону чисто своих дефайнов.
А на счёт ошибок в CMSIS - я как-то неделю сношался с чем-то по SPI, а оно не работало. Использовал SPL. Что оказалось? Ах да, ошибочка в SPL, режим SPI не тот выбирался, бывает. Сколько работаю со своими макросами - такого не было. Библиотеки тоже свои пишу.
Нет особой разницы - учить регистры и их биты, либо учить определения чужой библиотеки, которую тоже кто-то делал так, как ему удобно. Лучше выучить регистры, а дефайны для них обозвать своими френдли именами.
Всё вышесказанное - ИМХО.
Все что вы написали говорит о том что вы не умеете работать с документами. Я могу честно признаться что сколько не читал так и не смог понять пиципы работы USB. Читаешь вроде ни чего сложного, а на практике ступор. Для кого то это семечки, но не для меня. К чему это, да к тому что в оисании часто многое опускается, автор подразумевает что многое и так понятно. К стати библиотека SPL для f4 там есть косяк с работой BSRR, я для себя решил этот ворпрос исправив определения в CMSIS, В CMSIS, что для адептов кащумство.
По поводу профи. Сколько людей, столько вариантов решения задачи. И с этим вы думаю спорить не будите.
Спорить не буду. А вот по поводу оптимальности решения задачи очень даже буду, если вы понимаете о чём речь.
Перспектива человека-оркестра меня как-то не очень прельщает. Особенно глядя на отсутствие вашего результата.
Вы по определению человек оркестр....