Перейти к содержанию

Вопросы от начинающих по МК


Рекомендуемые сообщения

1 hour ago, Геннадий said:

Сейчас тот же STM32f103C8T6 уже обгоняет в стоимости Atmega328p.

никогда он не обгонит по стоимости 328-ю, даже если будет стоить в абсолютных деньгах дороже на сколько нибудь там. Все дело в отношении MIPS/USD. И оно ооочень не в пользу меги. Разве что 328-я упадет в цене рублей до 5, что скорее всего не реально. Думаю понятно о чем я. Ну и на F103 свет клином не сошелся. Есть еще F030 и F050. К примеру F030F4P4 (фактически прямая замена меги, но с ядром Cortex и частотой 48 МГц. Корпус SSOP20) стоит всего 40 центов (23 рубля Карл!). Тут о каком то ценовом соревновании говорить вообще смешно. Если что, по корпусу F103C8T6 вполне заменяет F030K6T6 за 55 центов корпус. И в своих поделках я применяю в основном 030-е или 050-е. Реже 051-е. Сотка редко вообще когда действительно прям вот требуется. Если только надо много памяти, много DMA и операционку сверху еще на все это напялить + какой нить флэш и USB-CDC.

И не нужно наивно думать что камни поколения F0xx какие то ущербные или слабенькие. Они по своим возможностям с головой перекроют весь спектр применений атмег (это 147%) с огромным запасом по производительности и оснащению. Просто все привыкли что F103C8T6 это типа народный проц и продается по полтора-два доллара за штуку в готовой плате. Что в целом копейки конечно же для штучных применений при их возможностях.

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 8,9т
  • Создана
  • Последний ответ

Топ авторов темы

11 час назад, Tokes сказал:

А мы берём эти несколько флагов, проводим с ними операцию ИЛИ и записываем все эти флаги

Да я тоже ошибся! переклинило тут меня тоже :). Так надо (совсем просто):

TIFR = (1 << TOV0);

он для этого единицей и устанавливается, что бы можно было простую запись использовать, типа АНД там аппаратно реализован.

11 час назад, Tokes сказал:

Дальше, Clock Prescale Register - я так понял позволяет на ходу подключать

не подключать а переключать, у него по умолчанию Clock Division Factor стоит :

CLKPS[3:0]     |||    Clock Division Factor

0011                |||          8 (default)

Изменено пользователем ruhi
дополнено

Можно сделать все! Но чем больше можно, тем больше нельзя!

Ссылка на комментарий
Поделиться на другие сайты

11 час назад, Tokes сказал:

максимальная тактовая в 72 МГц, так же где-то читал недавно, что порты IO не могут на такой частоте работать. Это так? Ну и другой вопрос - я эту платку смогу использовать где-то кроме как в среде ардуино, которую я так не перевариваю?

Порты IO там работают на половинной частоте то есть 36МГц скорее всего, и частоту с питанием там (тактирование) надо отдельно включать на каждый порт.

В общем все там тоже самое что и в АТМЕГЕ, только регистры в 4-ре раза шире, соответственно напихали в них в 4-ре раза больше!!! Поэтому посещает чувство растерянности сначала :).

И среда разработки С-шная на выбор, тока не знаю какая бесплатная, переходи на ферари :) !

Можно сделать все! Но чем больше можно, тем больше нельзя!

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

они там все бесплатные, только с ограничениями на размер кода. CooCox вообще без ограничений, но С++ не поддерживает и танцевать с бубном местами придется. На Keil по сети свободно гуляет таблетка, которая убивает все ограничения, но некоторым не нравится отладчик. Хотя вообще его совершенно достаточно. В IAR отладчик посильнее, но таблетка не настолько доступная.

Меня лично кайло всем устраивает. Но это чисто дело вкуса

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

@mail_robot , Вы превратились в идолопоклонника STM32 и проповедуете свою веру даже там, где она не совсем (и даже совсем) не нужна. Я лишь сделал Вам оговорку в, заявленной Вами экономии, нисколько не умаляя ценность этих камней. Но всему есть разумное применение. Человек не может "помигать светиком" на 8-битке, так зачем ему 32-разрядный камень? Это Вы в них, "как рыба в воде" разбираетесь. А новичку? Не смог освоить одну платформу, прыгай на другую (в которой он ни бельмеса). Так он никогда и не сделает свою "задумку".

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Если камень и правда хорош, от чего же сразу в идолопоклонники записывать? Да, на сегодняшний день я ему альтернатив разумных не вижу. Но их же не я придумывал.

1 hour ago, Геннадий said:

Это Вы в них, "как рыба в воде" разбираетесь

2 года назад я точно так же единственное что мог - помигать светиком на 8-битке. Стукнула задача. Я понял что 8-битка не вариант. Купил в ближайшей лавке за углом диско самую дешманскую (нулевку). Через неделю уже на пальце вертел 4 канала АЦП по ДМА. Из учителей был только гугл.  СТМ оказался гораздо проще в освоении просто за счет удобных инструментов программирования и отладки. То, что он якобы наворочен... так то глаза боятся. Философия камня та же самая. А если забыть про биты и представить что их всего 8, то вообще считай все один в один, только периферии как будто в трех мегах чисто по количеству. Ну не один там уарт а три, ну АЦП 12-битный, ну блоки SPI и I2C просто отдельные, таймеров не три а дофига, но они те же самые таймера и считают не римскими цифрами. Существенных отличий то по сути и нет, кроме одного - можно все это использовать в том числе и в режиме DMA, что в целом не усложняет, а даже упрощает кодинг. По умолчанию есть АЛУ, но его из кода не видно. Ядра тоже не видно. Просто все выполняется со скоростью в 40-60 раз быстрее. В чем сложность то? Я вот честно - не понимаю

1 hour ago, Геннадий said:

Так он никогда и не сделает свою "задумку"

если ему 8-битка не даст такой возможности, а на 32-битку смелости не хватит, то да. Никогда пожалуй

От души благодарен создателям этого чудесного камня, без которого я б до сих пор тупил в потемках чисто аналоговой схемотехники. Потому как забросил бы это дело уже на том светодиодике с танцами и песнями еле как залитом через деревянный AVRISP, который про отладку вообще ничего не знает

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

9 часов назад, ruhi сказал:

Порты IO там работают на половинной частоте то есть 36МГц скорее всего, и частоту с питанием там (тактирование) надо отдельно включать на каждый порт.

Не на 1/2 от частоты шины на которй висят. т.е. 18 МГц предел ногодрыга (но не на HAL и т.п. г....не)

4 часа назад, Геннадий сказал:

@mail_robot , Вы превратились в идолопоклонника STM32

я бы сказал в идолопоклонника Куба и ХАЛа :lol:

@Tokes А что ты вообще делаешь этой всей логикой? Задача какая?

Ссылка на комментарий
Поделиться на другие сайты

6 hours ago, MasterElectric said:

18 МГц предел ногодрыга (но не на HAL и т.п. г....не)

я вас уверяю - я на хал смогу дрыгать ногой с частотой ровно 18 мегагерц (PCLK/2, если быть точнее) ровно по тому алгоритму который мне нужен без единой задержки с допуском на положение фронтов не хуже 20 ppm по тактам кварцевого резонатора. А хочешь, буду одновременно двумя так дергать? Или тремя? и каждая по своему собственному алгоритму. Тут не каждый то на асме так сможет, зато каждое г..вно считает себя в праве измазать собой другого.

Хал прекрасный инструмент. Все остальное - недостаток вашего образования и слепая вера в то, что говорят подобные вам недоучки

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

@MasterElectric , надо ловить посылку CANbus, и в нужный момент давать АСК. 

@mail_robot , а что такое ppm?

Только ребят, не надо начинать вот этото всего. Просто дайте пруфы на то, что так можно или нельзя. Взаимный срач это нифига не здорово. Решил просвятиться немного, почитал пару смежных тем, типа 

И знаете что? Там только срач. Не хотелось бы и здесь начать читать такое. Нахрен надо! Пруфы чётко по делу - и всем будет счастье. Наверно. Ну правда, не начинайте :(

Возникли вопросы:

1. Я так понял - HAL, SPL, CMSIS - это всё библиотеки, облегчающие работу с STM32. А в чём принципиальная разница между ними? Можно про преимущества и недостатки каждой?

2. Есть плата для ардуино с STM32 на борту. Брал год назад где-то, но до сих пор руки не доходили, а тут жутко интересно стало, что да как. Собственно вопрос - если я напишу некий код в НЕ Arduino IDE - как мне этот код можно в эту плату запихать? Просто USB интерфейса достаточно будет или надо исключительно через UART/SWD и прочее?

3. Наткнулся на статейки DI_HALTa про STM32 - а есть ещё что-то подобное? Он-то пишет хорошо, но мало. Документацию на инглише проглотить мне будет не так просто, как хотелось бы. Я понимаю, что надо, и буду читать, но это вообще ни разу не быстро :)

По изучению ответов возникнет ещё порция вопросов. Или если такой подход - не тру, может, есть какая годная литература, покрывающая большинство вопросов начинающих о знакомстве с Cortex © ?

 

Ссылка на комментарий
Поделиться на другие сайты

литературы толком нету. Болтается по сети одна книженция более мнее, но она уже морально устарела и на инглише.

По пунктам можно коротко

1. С лева направо падает уровень абстракции. А так корень у них один. HAL - высокий уровень читабельности кода, можно портировать на соседние камни код почти не корректируя. Говорят, что говно (ну да, видимо милиард мух не могут ошибаться). Но в основном те, кому лень разобраться. SPL  - тоже в некоторой степени абстракция, но не уровня железа, а уровня алгоритмического кода. Весь кодинг привычный для АВР-щиков на регистрах. Бинарики из SPL выходят компактнее, но исходники читаются крайне туго. Поэтому частенько юзеры ловят весьма неожиданные баги просто от недогляда или забывона. В HAL забыть что-то либо сложно, либо легко обнаружить пропажу. CMSIS это вообще не язык как таковой.

Вообще лучше попробовать самому.

2. Единственный нормальный способ шить и отлаживать эти камни - SWD. Покупается USB свисток STLink v2 на али и это все что нужно для любого STM32. Он и программатор, он и отладчик. Стандартно поддерживается всеми известными мне средами программирования.

3. Доку придется читать на инглише. Не в страшных конечно объемах, но обойти этот момент никак.

вот тут еще человек неплохо сказал

и можно добавить - и все это в конечном итоге защищает от ошибок, помогая писать надежный стабильный код. Ну и опять же мнение публики - раз куб облегчает работу, значит он тоже говно. Нормальные герои всегда должны ходить в обход. В качестве аргумента всегда приводят скорость и обьем кода на выходе, но забывают указать что весь этот тюнинг был абсолютно ни к чему верблюду в зоопарке

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

5 часов назад, Tokes сказал:

а что такое ppm?

1/1000000

parts per million

5 часов назад, Tokes сказал:

А в чём принципиальная разница между ними?

Уровнем абстракции. Чем выше уровень, тем проще реализовать простейшие задачи и тем хуже качество сгенерированного кода. Основным недостатком высоких уровней абстракций является  ровно то, что облегчает жизнь - вместе с переносимостью кода исчезают особенности конкретного МК. А значит и преимущества связанные с этими особенностями. Так же исчезают возможности оригинальных решений. Проблема в том, что однажды выбрав простой и понятный путь, очень трудно с него соскочить. Даже когда решаемые задачи настоятельно этого требуют. Образ мыслей уже не позволяет.

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

42 minutes ago, my504 said:

вместе с переносимостью кода исчезают особенности конкретного МК

да ладно. Прям таки исчезают? Библиотеки то под разные камни реализованы тоже не идентично. Общий только интерфейс. Или вы при переезде предлагаете инклюды не обновлять?

ну ну

42 minutes ago, my504 said:

Так же исчезают возможности оригинальных решений

нет, не исчезают. Если хочется оригинального решения - реализуется точно так же вставкой своего оригинального кода хоть на ассемблере. Что мешает то? А общий функционал, который нерентабельно вылизывать, просто остается как есть. Какая то вот непроходимая упертость у всех халоненавистников. Если ты только произнес эти три буквы, то ты типа бездырь ленивый и уже все забыл и ничего больше не знаешь и не умеешь. Нет, просто у меня в руках на один инструмент больше чем у вас, а уж с выбором определиться можно всегда.

42 minutes ago, my504 said:

Проблема в том, что однажды выбрав простой и понятный путь, очень трудно с него соскочить. Даже когда решаемые задачи настоятельно этого требуют. Образ мыслей уже не позволяет.

и вот эта фраза тому подтверждение. Фантастически прогрессивный образ мышления.

Я вот и под малину не стесняюсь поставить андроид и написать прогу на жабе. Потому что это проще и быстрее реализуется интерфейсная часть. А вот один мой товарищ когда про это узнал, судорожно начал вертеть пальцем у виска и параноидально брызжа слюной заявил - онли линух, никаких тупых прослоек! Да флаг тебе в кулак родной, подумал я. Там где надо 4 кнопки и пару текстовых полей я должен заводить GTK+ или Qt, чисто из тупого принципа чтоли? Да я лучше за 15 минут начирикаю apk-шку, которая будет работать абсолютно точно так же, получу свои бабосы и в сэкономленное время сгоняю погрею пузо куда нить на Патонг. А он пока пущай геморрой повысиживает пялясь в моник.

Та же ситуация и с говнохалом и говнокубом (кому как угодно). Если не видно разницы, зачем строить из себя героя? На СТМ разницы реально не видно. Я лучше заплачу лишних пол бакса за более крутой камень, если будет стоять выбор - мое время или процессорное. Пусть железяка вкалывает себе в три пота, мне то с этого что? ТЗ выполнено? все работает? Лагов нет? Все свободны

Новые технологии за тем и придумывают - чтобы экономить самый ценный ресурс - ВРЕМЯ. Нафига ООП? Нафига убогий байткод жабы? Про питон я вообще молчу. Писали бы все на процедурном чистом С и было бы всем счастье.

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Вы рассуждаете о предмете с точки зрения своих задач. Попробуйте абстрагироваться от своей норки.

Во-первых, если владеешь нижним уровнем абстракций, нет никакой проблемы с типом мышления. Тогда можно и HAL и ASM с равным успехом виртуозно замешивать.

Во-вторых, нафига мешать разнородные сущности в одну кучу? Если HAL не удовлетворяет требованиям задачи и требуется поверх (или вместо) него делать какие то вставки, то где там живет читабельность? Я понимаю, когда АСМ вставка реализует то, что на Си не сделать, но к чему применять инструмент, если потом нужно его ломать?

В третьих, дело совсем не в полдолларе за другой МК. Там вопрос может стоять о разнице в 5 и более долларов, не считая сопутствующих затрат типа внешней памяти или невменяемого потребления лишь потому, что хочется погреть пузо в грязной юго-восточной луже. И вообще, скорость определяется навыком, а не абстракциями. Можно на АСМе писать быстрее, чем на скриптовом языке лишь потому, что основная проблема лежит в области глобального алгоритма, а не в способе его реализации.

Изменено пользователем my504

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

1 hour ago, my504 said:

Во-первых, если владеешь нижним уровнем абстракций

а никто не спорит, что им необходимо владеть. Иначе грош тебе цена как специалисту. Ну и чтобы была возможность делать выбор и ориентироваться в них нужно для начала их знать. Тут как бы скидок то никто не делает.

1 hour ago, my504 said:

Во-вторых, нафига мешать разнородные сущности в одну кучу?

Ну на этот счет у меня есть такой аргумент - а для того, чтобы второстепенные задачи можно было вынести за скобки основной и тем самым сэкономить себе кучу времени. Код на хал прекрасно инкапсулирует SPL (ту его часть, которая отвечает за нижний уровень, то есть регистровый код). Однако наверное не будет для вас новостью, что трудоемкость писанины на этом самом SPL значительно выше. Так почему бы не воспользоваться теми бонусами, которые дает тот же куб, чтобы к примеру сразу снять с себя кучу писанины по инитке? Этот код работает разово и на производительность не влияет никак. Так пусть он будет автоматическим. Да он займет лишних 4-5 кило в памяти, но ее итак дофига. Даже в камнях уровня K6. Дальше уже смотрим что к чему. На интерфейсных задачах, там где надо работать с аппаратными блоками хал тоже прекрасно работает. Потому как все операции сводятся к работе с дата-регистрами и запуску ДМА. А ДМА от кода не зависит. Все остальное пишется вручную. Вот обычный план действий. И он еще ни разу не подвел.

1 hour ago, my504 said:

Если HAL не удовлетворяет требованиям задачи и требуется поверх (или вместо) него делать какие то вставки, то где там живет читабельность?

эээ, опять непонимание сути. Те же SPL операторы прекрасно убираются в процедуры, правила именования которых заимствуются из HAL. То есть USR_MasterModule_ProcedureName. Назначив процедуру (функцию, не важно) inline мы ничего не теряем на вызовах. При этом сохраняем читабельность кода полностью. За мной работали кодеры уже не раз и на мои вопросы по читабельности ответ был всегда один - написано человеческим языком. А я даже не комментирую код (очень редко). И на этом форуме есть люди, которые использовали мой код (а там портянки приличные с операционкой и знакогенератором + вся морда с вложенными меню и так далее) и через неделю выдавали свою готовую версию, а значит на чтение и разбор день-два от силы. И это делал человек, который едва ли месяц как познакомился с СТМ вообще, но имел практику на АВР. Это же о чем то говорит.

1 hour ago, my504 said:

Там вопрос может стоять о разнице в 5 и более долларов, не считая сопутствующих затрат типа внешней памяти или невменяемого потребления

я думаю не стоит так утрировать. Обычно вопрос стоит только в одном - объеме памяти программ. Прога разумной функциональности редко вылезает за 32К и только если ты начинаешь рулить большими обьемами статических данных (тот же знакогенератор с 3-4 наборами шрифтов) требуется увеличивать ресурсы. Это не так уж и дорого на самом деле. Если требуется операционка и ее использование оправдано, то желательно иметь больше 4К оперативки, а там обычно и флэш тянется. А сам тип камня остается практически тем же. Вы же в курсе да, что в линейке одного типоразмера обычно 6-10 градаций по объему памяти при неизменном наполнении и энергопотреблении. Разница там в центах

1 hour ago, my504 said:

лишь потому, что хочется погреть пузо в грязной юго-восточной луже

о да, гораздо веселее пялится на хмурые лица соотечественников и вкушать культуру типа "тагил" в автобусе морозным утром вдохнув перед этим до боли родную ссань в лифте. Я уж лучше по серенькой, в лексусе из теплого гаражика и перед этим пнув узбека дворника чтобы крыльцо моего коттеджа подмел хорошенько

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, mail_robot сказал:

Обычно вопрос стоит только в одном - объеме памяти программ.

Ровно то, на что я и намекал Вам.

Это У ВАС обычно стоит такой вопрос. Потому что характер задач такой.

А у меня (и у подавляющего количества разработчиков радиотехнической аппаратуры) вопрос совсем в другом. В аналоговом фронтэнде, а также периферии реального времени для анализа и генерации сигналов. Сложных сигналов. Часто многофазных и строго синхронных.

Что касается первого моего замечания в предыдущем сообщении, то речь исходно шла о начинающих. Начиная с HAL, человек уже никогда не придет к регистрам.

В этом и проблема. А совсем не в HAL.

ЗЫ. Чисто флуд. А как коттеджик связан с ссаным подъездом? Полагаю, что у человека имеется что то одно - либо коттедж, либо подъезд. Либо у него лексус из теплого гаража с дворником у ворот, либо ПАЗик с хмурыми лицами. В каком месте тут экономия времени и причем тут лужи юго-востока?  :rolleyes:

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

2 minutes ago, my504 said:

Начиная с HAL, человек уже никогда не придет к регистрам.

как плохо вы думаете о людях. Вам бы к Фрейду на прием

3 minutes ago, my504 said:

ЗЫ. Чисто флуд

элементарная арифметика - заработать сотку за день или за месяц. Но в месяце 30 дней (cпециально для КО и small IQ people). $=f(t)

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Я не думаю о людях. Я их знаю, в отличии от Ваших фантазий

ЗЫ. Важно не за день, а за год. Однако не стоит и тут фантазировать, а то подъезд войдет в противоречие с коттеджем, лексус с пазиком и все вместе с результатом Вашего расчета... 

戦う前に相手のベルトの色に注目

Ссылка на комментарий
Поделиться на другие сайты

О великий! Прости меня грешного... Я то чернь пустоголовая перепутал тебя с человеком

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

хотел прошить тестер MG328 т.к. он калибровку просил но отказвался калиброваться. С фьюзами возник трабл, не правильные прошил с точностью до наоборот. Т.е. те фьюзы которые надо было включить я отключил а которые надо отключить - включил. Прошивал eXtreme Burner - AVR, теперь ни считать ни записать ни чего не могу. Подскажите каким программатором можно исправить ситуацию?

Ссылка на комментарий
Поделиться на другие сайты

28 минут назад, СережаПаялаЕщеТот сказал:

 Подскажите каким программатором можно исправить ситуацию?

Проще , наверное , новую мегу купить и правильно прошить . А так параллельный высоковольтный программатор  , ну может быть фьюзбит доктор восстановит . 

Ссылка на комментарий
Поделиться на другие сайты

Да, там главный бит SPIEN будучи неправильно прошит отключает интерфейс программирования. Странно что программатор не предупредил перед прошивкой! И надо ещё посмотреть какой источник тактирования выбрался в данном случае...

Странно что досихпор при прошивке выставляют эти биты конфигурации вручную, вместо того чтобы давать сразу готовые конфигурационные байты, где ошибится с инверсией никак нельзя.

Такто фуз-доктор должен помочь, если он поддерживает высоковольтное программирование.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Моя проблема около трёх страниц назад решилась, когда начал использовать драйвер шины. Всё чётко, практически без задержек, работает как часы. Код не менял, только поставил драйвер.

За STM32 - я так понимаю, что лучше в начале поработать с голыми регистрами, а потом уже юзать разные библиотеки. Ибо, зная по себе - хрен бы я что мог нормально отладить, если бы того же ассемблера не знал, а сразу сел на Си писать. Свисток для прошивки камня заказал. Думаю, что надо начать с "привет мир по-микроконтроллерски", то есть помигать светиком. Я так понял там целое приключение после AVR будет. Настроить тактирование, убрать сброс с портов IO, настроить их на выход и включить мигалку.

Кстати, пока ресет модуля активен - его настраивать можно? А если после настройки модуля дать ресет кратковременно - он в дефолт сбросится?

Дочитаю книгу про это ядро, что на русском есть - сяду курить опорный мануал и даташит. А там, наверно, ветку создам, что ли, там попробую конкретные вопросы задавать, а то тут только дай волю - за свои инструменты будут ложить друг друга на лопатки :) 

Ссылка на комментарий
Поделиться на другие сайты

В 10.03.2018 в 00:25, Alexeyslav сказал:

Такто фуз-доктор должен помочь, если он поддерживает высоковольтное программирование.

C доктором не все так однозначно  ,  я например не смог Мегу16А восстановить  доктором после того как перепутал кварц и RC цепочку . 

Ссылка на комментарий
Поделиться на другие сайты

9 часов назад, Tokes сказал:

Настроить тактирование, убрать сброс с портов IO, настроить их на выход и включить мигалку.

Кстати, пока ресет модуля активен - его настраивать можно? А если после настройки модуля дать ресет кратковременно - он в дефолт сбросится?

Там не ресет модуля надо деактивировать, а включать тактирование. Для порта С, например, это выглядит как RCC->AHB1ENR |= RCC_AHB1ENR_GPIOCEN; Остальные модули аналогично. И сперва надо включить тактирование, а потом уже прописывать соответствующие модулю регистры.

Если начнете со 103-го (обычно с него и начинают), от его схемы тактирования глаза на лоб полезут :) Но не сдавайтесь, по шагам выставьте клоки на каждую шину, а остальное уже не страшно. После 103-го тактирование F0 и даже F4 кристаллов приятно удивят своей простотой. Кстати, то же относится и к настройке портов, у 103-го регистры настройки режимов порта свалены в кучу в отличие от более новых и продвинутых серий.

Изменено пользователем Zhuk72
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Сообщения

    • Это тот самый проект, просто следующий этап задачи - реализовать чтение уже записанных файлов на стороне МК.
    • Когда снова появился интерес к усилителям, тоже хотел всех обмануть, попробовал 7294 в разных схемах, 3886 тоже несколько способов приготовления, вроде и неплохо играет, если ничего другого не слушал, годится. Но червячок сподвиг сделать Натали Хоум, УХ! челюсть отвисла, наслушаться не мог, узнал, что такое сцена в звуке, динамика, детальность, да всё лучше. Вот я всегда и спрашиваю, по сравнению с какими другими УМ играет хорошо расхваливаемый усилитель.
    • @Armenn Хорошо. Сделал резистор на 5 Ом.  Результата два. 1. Если включить блок питания в сеть, а уже потом подключить резистор на 5 Ом в фиолетовый провод, тогда резистор просто будет греться.  2. Если подключить резистор на 5 Ом в фиолетовый провод, а уже потом включить блок питания в сеть, тогда случится следующее: лампочка предохранителя от КЗ засветится (через которую я подключаю БП в сеть), а блок питания начнет пищать. Заснял это на видео -   
    • Ну-вы и сравнили. Вот когда будете строить сварочный инвертор на такую частоту-то там нужно  будет учитывать скин эффект. А на частоты до 75кгц-можно забить, отбить и не принимать во внимание. Тем более-что все стараются аппараты до 200А строить. На кольце плотность тока до 15А на мм ^2, на Ш от 10А на  мм^2 А вентилятор-он все лишние тепло сдует ко льдам в Антарктиде. Проверьте монолит 2,12мм, я таким мотаю СТ. Интересно-что там с ним делается на частотах от 30 до 50кГц? Длинна провода примерно 2 метра-На сердечник Е70 влазит 18 витков
    • Добрый вечер всем!  Проблема следующая: Есть флешка с записанной файловой системой через USB MASS STORAGE DEVICES. При "втыкании"  в порт USB открывается на ПК диск с содержимым. Я подключил библиотеку Fatfs и прописал низкоуровневые функции чтения и записи в файле diskio.c Работаю с файлом так:   disk_initialize(SDFatFs.drv); if(f_mount(&SDFatFs,(TCHAR const*)USER_Path,0)!=FR_OK) { //Error_Handler(); Usart1_Send_String("Error_f_mount!\r\n"); } else { if(f_open(&MyFile,"01.WAV",FA_READ)!=FR_OK) { //Error_Handler(); Usart1_Send_String("Error_open_File1!\r\n"); } else { Usart1_Send_String("open_File_OK1!\r\n"); } if(f_open(&MyFile,"01.wav",FA_READ)!=FR_OK) { //Error_Handler(); Usart1_Send_String("Error_open_File2!\r\n"); } else { Usart1_Send_String("open_File_OK2!\r\n"); UINT testBytes=0; f_read(&MyFile, buff1, 512, &testBytes); sprintf(buf1, "TestBytes=%d\r\n", testBytes); Usart1_Send_String(buf1); Usart1_Send_hex((char*)buff1, 512); Usart1_Send_String("read_File_complite!\r\n"); f_close(&MyFile); } } подправил diskio.c так:   DRESULT disk_read ( BYTE pdrv, /* Physical drive nmuber to identify the drive */ BYTE *buff, /* Data buffer to store read data */ DWORD sector, /* Sector address in LBA */ UINT count /* Number of sectors to read */ ) { DRESULT res; //res = disk.drv[pdrv]->disk_read(disk.lun[pdrv], buff, sector, count); sprintf(buffer0, "sector=%lu\r\n", sector); Usart1_Send_String(buffer0); w25qReadPage(buff, sector*2); w25qReadPage(buff + 256, sector*2+256); res=RES_OK; return res; } #if _USE_WRITE == 1 DRESULT disk_write ( BYTE pdrv, /* Physical drive nmuber to identify the drive */ const BYTE *buff, /* Data to be written */ DWORD sector, /* Sector address in LBA */ UINT count /* Number of sectors to write */ ) { DRESULT res; //res = disk.drv[pdrv]->disk_write(disk.lun[pdrv], buff, sector, count); w25qWritingByUSB(sector, (uint8_t*)buff); res=RES_OK; return res; } #endif /* _USE_WRITE == 1 */ функцию чтения на самом деле пробовал прописывать по разному, все равно не корректно работает... Выдает в отладке такое:   Program start!.... sector=0 // это обращение к функции чтения DRESULT disk_read (); Error_open_File1! sector=0 // это обращение к функции чтения DRESULT disk_read (); Error_open_File2! Что я забыл еще добавить?
  • Похожий контент

×
×
  • Создать...