Jump to content

Recommended Posts

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 это типа народный проц и продается по полтора-два доллара за штуку в готовой плате. Что в целом копейки конечно же для штучных применений при их возможностях.

Edited by mail_robot

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

Share this post


Link to post
Share on other sites
11 час назад, Tokes сказал:

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

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

TIFR = (1 << TOV0);

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

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

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

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

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

0011                |||          8 (default)

Edited by ruhi
дополнено

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

Share this post


Link to post
Share on other sites
11 час назад, Tokes сказал:

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

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

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

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


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

Share this post


Link to post
Share on other sites

Драйверы MOSFET/IGBT Infineon – силой нужно управлять!

Специалисты Infineon усовершенствовали традиционные кремниевые MOSFET и IGBT и выпустили компоненты на базе принципиально иных материалов – нитрида галлия и карбида кремния. Мы создали подборку полезных материалов, чтобы вы разобрались во всех тонкостях и стали экспертом по управлению силовыми приборами нового поколения CoolMOS, CoolGaN, CoolSiC!

Подробнее

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

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


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

Share this post


Link to post
Share on other sites

Снижена цена на DC/DC и AC/DC преобразователи Mornsun в Компэл!

Компэл снизил цены на всю продукцию Mornsun. В ассортименте – как широко известные и популярные позиции, так и новинки. Доступны AC/DC, неизолированные DC/DC-преобразователи или импульсные стабилизаторы (семейство K78/R3), изолированные DC/DC, и новейшее поколение R4.

Подробнее

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

Share this post


Link to post
Share on other sites

Новинки гибридных конденсаторов: преимущества технологии

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

Подробнее

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

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

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

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

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

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

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

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

Edited by mail_robot

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

Share this post


Link to post
Share on other sites
9 часов назад, ruhi сказал:

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

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

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

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

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

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

Share this post


Link to post
Share on other sites
6 hours ago, MasterElectric said:

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

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

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

Edited by mail_robot

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

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

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

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

 

Share this post


Link to post
Share on other sites

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

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

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

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

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

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

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

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

Edited by mail_robot

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

Share this post


Link to post
Share on other sites
5 часов назад, Tokes сказал:

а что такое ppm?

1/1000000

parts per million

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

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

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

Share this post


Link to post
Share on other sites
42 minutes ago, my504 said:

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

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

ну ну

42 minutes ago, my504 said:

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

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

42 minutes ago, my504 said:

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

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

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

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

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

Edited by mail_robot

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

Share this post


Link to post
Share on other sites

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

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

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

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

Edited by my504

Share this post


Link to post
Share on other sites
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:

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

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

Edited by mail_robot

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

Share this post


Link to post
Share on other sites
1 час назад, mail_robot сказал:

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

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

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

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

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

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

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

Share this post


Link to post
Share on other sites
2 minutes ago, my504 said:

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

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

3 minutes ago, my504 said:

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

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


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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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


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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
28 минут назад, СережаПаялаЕщеТот сказал:

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

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

Share this post


Link to post
Share on other sites

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

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

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


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

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites
В 10.03.2018 в 00:25, Alexeyslav сказал:

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

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

Share this post


Link to post
Share on other sites
9 часов назад, Tokes сказал:

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

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

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

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

Edited by Zhuk72

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • Всё заработало должным образом, спасибо еще раз. Ваш вариант к сожалению оказался нерабочим, при таком подключении светодиода схема защиты не работает.
    • темы подходяшей - не нашел - открыл - чтоб закрыть для себя вопрос и возможно кому пригодится - тем кто так же как и я - жадничает на нормальный прибор)  но не суть , вопрос - простой - прошу помощи знаюших людей - как измерить -Правильно - катушку осцилографом , на фото осцилограмма с генератора http://www.radioradar.net/radiofan/measuring_technics/definition_current_saturation_coils_inductance.html по этой схеме . терь - по известной формуле мы можем расчитать индуктивность - но - я гдет допускаю ошибку - проверьте !  и так формула - L=U*t/I   где U - напряжение питания  t - длительность импульса  I- ток катушки   от суда выясняем ток - закон дяди Ома - макс напряжение 720 мВ - шунт у меня 0.22 Ома = 0.72/0.22=3.27A  далее - 14.9(питание)*0.28(мкс - пик тока катушки ) /3.27 = 1.275 ...и вот здесь я возможно ошибся  поправте - где ошибаюсь ?
    • Мы прекрасно знаем о искрения возникающем при замыкании и размыкании контактов реле. Немного полезной информации для начинающих и не только ( есть формулы расчёта и номограмма ). Меры по защите контактов реле от повреждения дуговыми разрядами.rar
    • Отключаем нагрузку на плате и смотрим напряжение на выходе БП. Желательно чем нибудь слабым нагрузить.  
    • Че вы аудиофилы такие злые?
    • Наверно мне бы стоило в вопросах для начинающих задать этот вопрос, но с другой стороны у меня уже это все давно работает, хоть я не знаю как))) Среда MicroC Pro У меня МК PIC16F1847 с кварцем 20Mhz, к нему подключен по SPI MCP2510 с кварцем 8Mhz а к нему MCP2551 Вот у меня в коде что то вроде стандартной конфигурации CAN SPI void CANinit(void){ Can_Init_Flags = 0; Can_Send_Flags = 0; // clear flags Can_Rcv_Flags = 0; // Can_Send_Flags = _CANSPI_TX_PRIORITY_0 & // form value to be used _CANSPI_TX_STD_FRAME & // with CANSPIWrite _CANSPI_TX_NO_RTR_FRAME; Can_Init_Flags = _CANSPI_CONFIG_SAMPLE_THRICE & // Form value to be used _CANSPI_CONFIG_PHSEG2_PRG_ON & // with CANSPIInit _CANSPI_CONFIG_STD_MSG & _CANSPI_CONFIG_DBL_BUFFER_ON & _CANSPI_CONFIG_VALID_STD_MSG; //SPI1_Init(); // initialize SPI1 module CANSPIInitialize(1,1,3,3,1,Can_Init_Flags); // Initialize external CANSPI module CANSPISetOperationMode(_CANSPI_MODE_CONFIG,0xFF); // set CONFIGURATION mode CANSPISetMask(_CANSPI_MASK_B1,-1,_CANSPI_CONFIG_STD_MSG); // set all mask1 bits to ones CANSPISetMask(_CANSPI_MASK_B2,-1,_CANSPI_CONFIG_STD_MSG); // set all mask2 bits to ones CANSPISetFilter(_CANSPI_FILTER_B2_F3,ID_1st,_CANSPI_CONFIG_STD_MSG); // set id of filter B2_F3 to 1st node ID áåç ýòîé ñòðîêè íå ðàáîòàåò CANSPISetFilter(_CANSPI_FILTER_B2_F4,ID_2nd,_CANSPI_CONFIG_STD_MSG); // set id of filter B2_F3 to 1st node ID áåç ýòîé ñòðîêè íå ðàáîòàåò CANSPISetFilter(_CANSPI_FILTER_B1_F2,ID_3rd,_CANSPI_CONFIG_STD_MSG); // set id of filter B2_F3 to 1st node ID áåç ýòîé ñòðîêè íå ðàáîòàåò CANSPISetFilter(_CANSPI_FILTER_B2_F1,ID_4th,_CANSPI_CONFIG_STD_MSG); // set id of filter B2_F3 to 1st node ID áåç ýòîé ñòðîêè íå ðàáîòàåò CANSPISetOperationMode(_CANSPI_MODE_NORMAL,0xFF); } Не очень уже помню как и где это настраивается, но скорость работы у меня 500 000 байт в секунду вроде, ну или какие там единицы. Не хочу перегружать вопрос кучей кода поэтому буду вырезать главное чтобы было читабельно. В основном юзаю отправку например вот:   zaderzka=180; //величина задержки 9765 это 1 сек. 190 задержка это 0.019сек zaderzka_flag=1; if (i>zaderzka) { CANSPIWrite(ID_512, RxTx_Data512, 8, Can_Send_Flags); RxTx_Data512[5]++;//счетчик от 00 до FF } Вопросы и проблемы: 1. я формирую задержку таймером, который запускаю флагом в коде, и я эту задержку использую для отправки в SPI шину, там проходит время по посылке в SPI и тд, поэтому тайминг отправки CAN не точный и плавает. А мне надо чтобы непосредственно MCP2510 слал мой пакет в шину с определенным таймингом как это сделать? 2. в шине есть еще устройства, они тоже шлют в шину пакеты со своим таймингом. Вообщем иногда я вижу очень редко пакеты встречаются, но контроллер MCP2510 вроде как рулит чтобы не было нахлеста. По идее хорошо бы чтобы каждое устройство попадало в свой тайминг, но я не могу выдержать отправку раз в 20мсек. у меня плавает туда сюда то 25 то 22 то 26 и тд, и поэтому встречаются места там где пересекаются пакеты и как я вижу по счетчикам, один пакет у меня просто теряется, а другой пакет который я шлю почему то шлется два три раза подряд, именно MCP2510 так как счетчик без изменений то-есть программа не сделала цикла. 3. Как вообще настраивается прием сообщений? как я понял настройкой фильтров типо этого:  CANSPISetFilter(_CANSPI_FILTER_B2_F1,ID_4th,_CANSPI_CONFIG_STD_MSG); Тоесть я правильно понимаю что всего там ограниченное количество фильтров которое я могу использовать на прием?
    • Спасибо за ответ. Итого, я-таки возвел поклеп на старое издание. Помогите разобраться. Правильно ли я теперь понимаю ситуацию: две части катушки в момент отдачи ей энергии мы можем рассматривать как 2 последовательно соединенных источника ЭДС, значение которого меняются со временем, допустим E'(t) и E"(t). В самый первый момент, когда катушка начинает отдавать энергию, конденсаторы заряжаются напряжением E'(0)+E"(0), а в цепи Ср идет большой ток, и все-таки переход база-эмиттер - поначалу закрыт, так как все напряжение E'(0)+E"(0) падает на Rб1, т.е. действует на базу, а со стороны эмиттера только E"(0)? По мере накопления заряда конденсаторами на Ср возникает падение напряжения, из-за которого в момент t1 напряжение E"(t1), действующее со стороны эмиттера, превышает напряжение, действующее со стороны базы(плюс падение на самом переходе), и переход открывается - ток в нижнем отводе растет, энергия контура увеличивается. Также правильно ли я понимаю, что мои рассуждения изначально тоже верные, но только если емкость Cр будет достаточно большой, чтобы не создавать достаточного падения напряжения для открытия транзистора при течении тока по часовой стрелке? И правильно ли я понимаю, что правая схема - все-таки нерабочая?

  • Сенсорный переключатель на основе чипа TTP223. Может работать через препятствия

  • Similar Content

    • Guest Влад
      By Guest Влад
      в этой схеме необходимо заменить микроконтроллер PIC на микроконтроллер AtMega8
    • By Александр Шилин
      Помогите, пожалуйста, со схемой подключения ПЗС-линейки к микроконтроллеру. Задача заключается в том, чтобы определить координату падения светового пятна, сформированного линзой, в пределах линейки.
      Модель линейки TCD132D на 1024 пикселя.
      Согласно даташиту необходимо три управляющих частоты - M, CCD, SH, питающее напряжение 12 В и опорное 5 В. Все эти условия были выполнены. Данные считываются.
      Выход данных с линейки пока просто выведен на осциллограф (красный канал). 
      Я плохо понимаю физические основы работы ПЗС-линейки, но ее работа кажется мне очень странной и нелогичной.
      1) При равномерной фоновой засветке при считывании получается равномерное низкое напряжение на всех пикселях. (Рисунок 1).
      2) При закрытии части линейки чем-либо напряжение на закрытых пикселях возрастает (Рисунок 2).
      3) При включении фонарика или лазерной указки все пиксели зашкаливают, определить максимум не удается (Рисунок 3).
      Если поместить линейку в темное место и светить очень тусклым лазером, то общий уровень напряжения на пикселях высокий, а в месте попадания света наблюдается едва заметный минимум. Возможно так и должно быть и нужно просто инвертировать и усилить сигнал?
      В чем может заключаться проблема? Как грамотно снимать выходной сигнал с линейки и заводить его на АЦП МК?
      Даташит приложен снизу.




      tcd132d.pdf
    • By Alan247
      Представляю на ваш суд:    https://thisismyhobby.ru/AVR_PAL_W.php   Ваше мнение?
       

    • By Rad TV
      Скетч простой и кислий. Сделан автором RadTV канал:https://www.youtube.com/channel/UC1k5elIKErFnmwTzIsRgQrA?view_as=subscriber
      Буду рад рокомендациях и помощи!Сделал сам проект должен бить простим и  что би влезло в ATtini85!
      Есть защита акб и просто парения (!!!Кнопка на розмикания!!!)
      Обновления будут!!!!
       
       
      RadMOD ver1.0.txt
    • By Стас73
      Доброй ночи, уважаемые.
      Прошу Вашего совета по следующей куче проблем для меня, т.к. не соображаю в электронике, схемах, резисторах и подобному, но дружу с компом и есть желание сделать определенный механизм, но пока нет наставления на путь истинный от специалистов)
      Задача состоит в следующем - хочу мотор стеклоочистителя подключить к Ардуино, но управлять им необходимо с кнопки. Шилд, например, который обрабатывает сигнал нажатия на кнопку (допустим кнопка записи), при ее активации, нажимаю на другую кнопку, которая дает команду движку вращаться по часовой стрелке. Отпускают ее, моторчик останавливается. Другая кнопка, вращение в противоположную сторону. Т.е. записал последовательность и продолжительность вращений,  нажимаю вновь на кнопку запись и мои действия сохраняются. Далее на 4 кнопку жму и моя игра с моторчиком автоматически воспроизводится. Если такое выполнимо с помощью плат и шилдов без доп программирования логики, то буду ОЧЕНЬ  признателен если расскажете как вкратце это осуществить или кинете ссылки к примеру на Али с нужными товарами. Если легковыполнимо, то в будущем наверное уже разберусь,  как обойтись без нажатия на 4 кнопку (воспроизведения записанных действий) и запускать этот процесс, подключив датчик движения или звука.
      Если необходимо описывать логику или создавать типа какого-то протокола, что шилд (?) умел понимать, что я от него хочу, то подскажите среду разработки для неба, что б там по минимуму было наворотов) В принципе с основами c++ для Ардуино скорее всего придется ознакомиться. 
      Заранее спасибо!
×
×
  • Create New...