Jump to content

На чем писать  

580 members have voted

  1. 1. Что чаще используете в разработках?

    • Assembler
      162
    • C
      295
    • Что-то еще
      62


Recommended Posts

9 минут назад, DrobyshevAlex сказал:

я ж говорю, тут одни гении :) лишь бы других обосрать даже не видя как чел пишет)

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

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

Share this post


Link to post
Share on other sites
49 минут назад, Starichok сказал:

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

в ассемблере все переменные (по крайней мере у меня) доступны напрямую. я могу взять любую переменную прямо из места ее хранения и результат поместить также прямо в нужное место.

У меня такое ощущение, что Вы совершенно не владеете Си... Кто мешает в Си писать void Func(void), превращая функцию в процедуру не требующую входных переменных и не создающую выходной? Причем тут АСМ? Если Вы решили делать все переменные глобальными, а вызовы процедурами, то это никакого отношения к выбору языка программирования не имеет.

16 минут назад, DrobyshevAlex сказал:

не всегда программист умнее компилятора...

Но это проблема создана не компилятором, а малограмотным программистом. Грамотный программист ДОЛЖЕН четко понимать как работает компилятор и тщательно следить за его работой.

58 минут назад, Starichok сказал:

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

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

Но речь шла совершенно о другом. МЕТОДЫ работы на Си нужно переносить на АСМ, тогда АСМ код будет эффективнее Си и одновременно не создаст трудностей при значительном его объеме. А кроме того, появится читабельность как в языках высокого уровня и масштабируемость написанного кода.

Share this post


Link to post
Share on other sites
37 минут назад, DrobyshevAlex сказал:

вот я все собираюсь делать осцил 

Кстати об осциллографе. Нынче все осциллографы имеют встроенный FFT. Будете встраивать? :)

Вот когда до него дойдете и обнаружите, что написанный на Си он работает НИКАК, тогда и вспомните про АСМ. Ну если только не используете чужой FFT как библиотечный. Но и тогда звезд с неба Вы не обретете. Патамушта библиотечный слишком универсальный, чтобы быть предельно быстрым. А без скорости там никак. Без скорости будет красивый фейк. Пользоваться невозможно.

Share this post


Link to post
Share on other sites

Металл-композит как альтернатива ферриту: дроссели Panasonic семейства ETQP

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

Подробнее

6 минут назад, Геннадий сказал:

я сразу предупредил "без обид"

а где тут обида, это только улыбку вызывает :)

8 минут назад, Геннадий сказал:

Вы тоже не видите как пишут другие

Так я о чем и говорю, что я не вижу и вы не видите. По этому я и не обсираю, где я кого то обсирал? Я задал пару вопросов. Я писал ранее, что я на асм писал пару раз в жизни (не считая когда нужно было вносить правки в бинарники, но там лишь переделки а не писание с нуля).  Так вот по этому у меня много вопросов, например сгенерит ли обязательно компилятор кода си push и pop при вызове функции? Или компилятор сгенерит код который потребует большее число тактов для переключения ноги мк? Я правда не знаю и спрашиваю.

11 минут назад, Геннадий сказал:

Поэтому заочно поднимать себя выше всех

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

12 минут назад, my504 сказал:

Кто мешает в Си писать void Func(void), превращая функцию в процедуру не требующую входных переменных и не создающую выходной? Причем тут АСМ? Если Вы решили делать все переменные глобальными, а вызовы процедурами, то это никакого отношения к выбору языка программирования не имеет.

Вот! Я это и пытаюсь сказать. Просто я правда не знаю, мож компилятор все равно что то пушнет пульнет) Я и спросил. Я считаю что не должен. Но не проверял. может кто проверял и уверен.

13 минут назад, my504 сказал:

Но это проблема создана не компилятором, а малограмотным программистом. Грамотный программист ДОЛЖЕН четко понимать как работает компилятор и тщательно следить за его работой.

Так а я где то спорил что проблема компилятора?

Постараюсь как то раскрыть мысль, два раза ее уже не поняли!

Вопрос "Что чаще используете в разработках?"

Тут нет описания уровня знаний. Я на это написал, что юзая АСМ можно написать код хуже чем юзая Си. На что мне ответили что я просто тупой а другие умные и напишут.

Допустим программист 1 пишет на АСМ а программист 2 на СИ. И крутой компилятор Си в крутыми настройками сгенерирует код оптимальней чем напишет программист 1. Какая разница программист 1 я или еще кто то. Суть в том что говорить что писать на си это 100% оптимальней чем на Си - просто я не согласен что дело в языке! Дело  том кто пишет и компиляторе и настройках.

То есть тема вопроса не как не предусматривает уровень владения именно программированием, не важно какой тут язык вообще. То есть нужно не язык винить иногда, а самого программиста. Кроме, как я уже два раза написал минимум, случаев, когда средствами Си (а выше такое заявляли) нельзя вообще это сделать. Я не знаю правда ли это, я не делал того о чем писали.

И я останусь при своем мнении, что крупные компании чаще выбирают не ассемблер, и пишут избыточный код дабы избежать ошибок и багов. А некоторые и свой язык пишут под конкретные задачи. У нас даже 110 чел работает по моей информации. Удаленно большинство. Друг друга даже не знают и никогда не общались. И как то срабатываются.

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

И тем не менее, кодга это нужно, у нас в c++ серверах есть вставки асм кода. Но это не мешает проекту быть написанным на c++ и кроссплатформенным.

4 минуты назад, my504 сказал:

Кстати об осциллографе. Нынче все осциллографы имеют встроенный FFT. Будете встраивать?

Я пока не дошел до этого. Мне Китай шлет не те детали. Я уже третий раз заказал, жду. Посмотрел несколько схем, выбрал идеи которые мне нравятся. набросал схему.

Будет внешняя память, выбор адреса будет либо плиской, которые уже пришли и оттестил, вроде работает отлично, либо 74ac193 которые тоже пришли, но судя по коментам это не они, и скорость у них 10мгц и валиться а ацп у меня на 145 вроде как рассчитан. Ну и у плис еще удобно адрес двигать вперед назад или вообще задать нужный, а там же по кругу гонять только, хоть это и быстро. Человеческий глаз не заметит макс скорости по этому мелкие дефекты пропустишь, смысла не вижу на лету пытаться вывести такие скоростях.

Дисплей по 8 битной шине 2.4 дюйма всего, не очень он быстрый даже по FSMC. Так что не думаю что я не успею что то отрисовать.

АЦП 8 бит, память 16, пишу два канала в 1 ячейку (спасибо за идею человеку с радиокота). Вывод у меня пока по своему алгоритму :) Рисую вертикальные полосы, от старой точки до новой. Слева на право по очереди. Если нужно сузить то просто пропуски точек, знаю что тут не оптимально, можно как раз скачек пропустить нужный, но так как не пришли детали уже больше года жду уже и лень что то кодить пока платку не сделаю окончательную, не понятно из чего)

15 минут назад, my504 сказал:

Вот когда до него дойдете и обнаружите, что написанный на Си он работает НИКАК, тогда и вспомните про АСМ.

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

Share this post


Link to post
Share on other sites

Я вообще не уверен что дисплей мой может отрисовать что то быстрей чем мк вычислить :D

 

Share this post


Link to post
Share on other sites
                     

Новые литиевые ХИТы Fanso работают даже при +150ºС!

Когда приходится учитывать работу в экстремальных условиях, к выбору электронных компонентов подходишь с особой тщательностью. Высокие температуры, большие перепады давления, труднодоступность – все это требует специальной продукции. Склад КОМПЭЛ пополнился новыми литиевыми ХИТами Fanso, стабильно работающими даже при температуре до 150 ºС. Батарейки имеют номинальное напряжение 3,6 В, обладают ёмкостью от 700 до 14000 мАч, работоспособны в широком температурном диапазоне -20…150ºС и имеют низкий саморазряд (не более 3% в год в нормальных условиях хранения).

Подробнее о высокотемпературной линейке

56 минут назад, my504 сказал:

В условиях ограниченного количества РОНов есть необходимость сохранять контекст текущей задачи при вызове функции (подпрограммы).

согласен, я был слишком категоричен в своих высказываниях.

да, иногда и мне приходилось отправлять в стек один-два регистра из-за нехватки регистров.

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

так что прошу извинить меня за ложную информацию (что сохранением в стеке мне не приходится пользоваться).

просто я имел в виду, что мои сохранения не столь обильны, как при компиляции с Си.

 


Мудрость приходит вместе с импотенцией...

Share this post


Link to post
Share on other sites
9 минут назад, Starichok сказал:

просто я имел в виду, что мои сохранения не столь обильны, как при компиляции с Си.

вам уже несколько раз сказали, что в стеке будет столько данных, сколько в си коде вы напишите :)

я не знаю как там компилятор приведет код, а я юзаю два это атолик и кокос. Я не знаю даже разные ли они там.

Но вот три кода

uint8_t add(uint8_t a, uint8_t b) {
	return a + b;
}

int main() {
  uint8_t a = 20, b = 30, c = 0;
  c = add(a, b);
}
inline uint8_t add(uint8_t a, uint8_t b) {
	return a + b;
}

int main() {
  uint8_t c = 0;
  c = add(20, 30);
}
uint8_t a = 20, b = 30, c = 0;

void add() {
  c = a + b;
}

int main() {
  add();
}

Думаю он по разному скомпилируется :) 

Share this post


Link to post
Share on other sites
53 минуты назад, DrobyshevAlex сказал:

Я вообще не уверен что дисплей мой может отрисовать что то быстрей чем мк вычислить :D

 

Еще как может. Когда расчет FFT будет длиться сотни миллисекунд, тогда дисплей не будет "слабым звеном"...

Share this post


Link to post
Share on other sites
19 минут назад, my504 сказал:

Когда расчет FFT будет длиться сотни миллисекунд, тогда дисплей не будет "слабым звеном"...

ну у меня пока не планировался этот расчет) а пролистывание только. Но вот сейчас я задумался. Нужно посмотреть сколько ячеек улетит для работы с дисплеем, может ну его нафиг мк вообще, купить плисину и на верилоге попробовать закодить, мой макс 2 явно маловат. Но это уже совсем другая история...

Share this post


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

я ж говорю, тут одни гении

Ага, гении ассемблера, причем одного единственного!

Вот, интересно, кто нибудь знает, что на PIC-ах (по крайней мере на младших версиях) стека нет? то есть даже если вы объявляете переменную на стеке, компилятор выделяет ее в глобальной памяти!


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

Share this post


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

кто нибудь знает, что ....?

Во первых, есть стек. Без стека не работает механизм call и прерываний. Другое дело, что этот стек не предназначен для переменных. Причем речь тут об аппаратном стеке. Программный никто не запрещал.

Во вторых, это только в 8-битных МК. В 16-разрядных стек более чем полноценный.

Edited by my504

Share this post


Link to post
Share on other sites
6 минут назад, my504 сказал:

Во первых, есть стек. Без стека не работает механизм call и прерываний.

Хорошо, если вам надо гвоздями прибить (хотя я вижу что вы и так все прекрасно поняли), нет стека имменно для переменных, то есть отсутствуют ассемблерные комманды типа  PUSH и POP. И, да, я оговорился про младшие версии PIC-в, 16-битных мне пока не подсовывали, переписываю алгоритм с Атмеги на миландровский ПИК-8бит, к счастью, исходная программа написана на С!


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

Share this post


Link to post
Share on other sites
22 минуты назад, ruhi сказал:

если вам надо

Насколько я помню, ХС8 реализует программный стек. А Хайтеч использует часть ОЗУ как есть  для передачи значений в функцию.

Share this post


Link to post
Share on other sites
10 минут назад, my504 сказал:

ХС8 реализует программный стек. А Хайтеч

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

если вам интересно. То есть я вижу представителя линейки процессоров который не поддерживает стек для переменных. 


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

Share this post


Link to post
Share on other sites
04.11.2019 в 11:08, Falconist сказал:

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

За время моего бана тема заметно оживилась :D

Так что, не так уж и глупо, и не так уж и на фиг никому не нужна.

Сейчас уже правильно процитировал? Или снова в бан? Сатрап!

Share this post


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

и вижу что архитектура процессора не поддерживает косвенную адресацию памяти на уровне ядра (только на уровне специальных модулей переферии), а стек как раз и реализуется через косвенную адресацию памяти

Это каким таким образом модуль периферии получил возможность в одном командном цикле писать/читать ОЗУ? 

Вы хоть понимаете что пишите? 

FSR/INDF - это регистры ядра. Второй так вообще физически не существует. А первый и является РОНом косвенной адресации. 

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

 

 

Share this post


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

Это каким таким образом модуль периферии получил возможность в одном командном цикле писать/читать ОЗУ?

При чем тут "в одном командном цикле", не понял?

14 часов назад, my504 сказал:

Вы хоть понимаете что пишите? 

Что пишу очень хорошо понимаю, не понимаю что вы читаете, но прикольно - продолжайте :) !

14 часов назад, my504 сказал:

А первый и является РОНом косвенной адресации.

регистры конфигурации УАРТ тоже можно обозвать РОНом конфигарации УАРТа, что это обзывательство :) доказывает???

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

Вот в АВР-е там действительно ЧАСТИ регистров косвенной адресации: X, Y, Z являются регистрами общего назначения РОН-ами, а тут, извините, нет инструкций ассемблера в которых FSR/INDF могут работать специальным образом отличным от их частного назначения, а регистры УАРТа, например, не могут также работать

А физически не реализованных регистры существуют и в других переферийных модулях, это тоже ничего не доказывает!

Edited by ruhi
дополнил

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

Share this post


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

За время моего бана тема заметно оживилась

Да, складывается такое ощущение, что они тут банят, иногда, что бы потешить свое самолюбие, что вряд ли идет на пользу популярности и развитию форума (сайта).


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

Share this post


Link to post
Share on other sites

На три вещи можно смотреть бесконечно:

1. Как течет вода

2. Как горит огонь

3. Как ругаютсяспорят упёртые профессионалы с разными пристрастиями.

 


Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Share this post


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

Вот в АВР-е там действительно ЧАСТИ регистров косвенной адресации: X, Y, Z являются регистрами общего назначения РОН-ами, а тут, извините, нет инструкций ассемблера в которых FSR/INDF могут работать специальным образом отличным от их частного назначения

Во первых, могут.  Точнее, может.  FSR -  это просто регистр, который может применяться как РОН. То есть использоваться в математике и прочих мероприятиях. Во вторых, архитектура этой платформы такова, что система команд не делает различий между любой областью пространства данных. Таким образом, в этой архитектуре  РОНы в привычном для других архитектур качестве не нужны. Точнее всё ОЗУ суть и есть РОНы. Из чего следует, что к АЛУ будет прицеплен рабочий регистр (WREG) и любой регистр ОЗУ.

В том числе и FSR. Поэтому никакие другие функции FSR не требует. Они у него есть по определению. А отсутствие физической реализации INDF говорит о том, что этот самый INDF является выходом мультиплексора шины данных.  Что и доказывает что FSR ничем по своему функционалу и местоположению в архитектуре не отличается от традиционного РОНа при использовании его для целей косвенной адресации.

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

При чем тут "в одном командном цикле", не понял?

Периферийные модули все как один висят на ВНЕШНИХ по отношению к ядру шинах адреса/данных. Ни у одного из этих модулей нет доступа к мультиплексору шины адреса ядра. Для периферии это как другое измерение. И УАРТ тут вообще не причем и примером быть не может. Примером может быть EEPROM, который ДЕЙСТВИТЕЛЬНО реализует очень похожий процесс через собственный указатель и регистр данных. Но EEPROM как раз и есть периферия, поэтому он требует специальной команды чтения/записи  периферийного  регистра данных. Причем адрес EEPROM передается тоже как данные через регистр защелку и никакого отношения к системной шине адреса не имеет (у него адресное пространство вообще не на шине данных, а на шине инструкций, если вообще объединяется с ней). Так вот, регистры ядра могут реализовать косвенную адресацию в один машинный цикл, а регистры периферии не могут. Ровно по выше обозначенной причине.

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

 

ЗЫ. В догон. Вы бы, уважаемый, вместо домыслов открыли даташит на МК в разделе описания ядра и привели отличия FSR от РОНа...

Вместо своих фантазий на эту тему. Заодно бы увидели где там периферия.

Edited by my504

Share this post


Link to post
Share on other sites
24 минуты назад, my504 сказал:

в этой архитектуре  РОНы в привычном для других архитектур качестве не нужны. Точнее всё ОЗУ суть и есть РОНы

ну понятно, РОНы не нужы, но они есть - с этим я не могу спорить.

25 минут назад, my504 сказал:

Так вот, регистры ядра могут реализовать косвенную адресацию в один машинный цикл, а регистры периферии не могут

Так а как же все комманды косвенной адресации на АВР-ах занимают 2 (два) машинных цикла, так там значит это регистры переферии, по вашему??? Какая то кривоватая у вас логика кругом.

38 минут назад, my504 сказал:

вместо домыслов открыли даташит на МК в разделе описания ядра и привели отличия FSR от РОНа...

Я это читаю как:

"Я с тобой не справляюсь - опровергай себя сам."

Ну, спасибо за признание!


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

Share this post


Link to post
Share on other sites
27 минут назад, ruhi сказал:

ну понятно, РОНы не нужы, но они есть - с этим я не могу спорить.

Ваше абсолютное непонимание архитектуры 8-битных ПИКов делает бессмысленным какие либо объяснения на эту тему. Вы просто не слышите о чем я Вам говорю. Чтобы услышать хоть какую то малость, следует изучить матчасть. Хотя бы на 50%.

27 минут назад, ruhi сказал:

Так а как же все комманды косвенной адресации на АВР-ах занимают 2 (два) машинных цикла, так там значит это регистры переферии, по вашему??? 

Нет, не значит. Это значит для ПИКов. Потому что в ПИКах конвейер и синхронизация ядра сделаны так, что за один машинный цикл выполняются АБСОЛЮТНО ВСЕ КОМАНДЫ, кроме тех, которые требуют сброса конвейера (выполнение ветвлений кода). 

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

 

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

Это не так.

Я сейчас не имею открытых проектов на Си для ХС8. Поэтому попросил коллегу показать мне свой проект.

Стек (программный) в  проектах под PIC16 (для PIC18 могут быть отличия) для передачи значений в функцию и локальных переменных есть и он не использует косвенную адресацию. Разбираться с механизмом у меня сейчас времени нет. Но само название первой переменной на этих  участках ОЗУ кагбэ намекает: __pcstackCOMMON и __pcstackBANK0

 

 

Edited by my504

Share this post


Link to post
Share on other sites
35 минут назад, ruhi сказал:

"Я с тобой не справляюсь - опровергай себя сам."

Ну если Вам лень... Извольте.

PIC16:

1984510668_2020_01.2912-43-33.jpg.75bfdf4ec10550bbd03e668100479910.jpg

PIC18:

758150862_2020_01.2912-42-50.jpg.3509cd310c4d0453fdd9c394b0c58595.jpg

Share this post


Link to post
Share on other sites
42 минуты назад, my504 сказал:

Ваше абсолютное непонимание архитектуры 8-битных ПИКов делает бессмысленным какие либо объяснения на эту тему. Вы просто не слышите о чем я Вам говорю.

Зря вы так переживаете, я все прекрасно слышу - внимательно читаю, но ваши аргументы для меня не убедительны! А мои практические результаты подтверждают мое абсолютное понимание не только этой, а множества архитектур процессоров (штук 7 мне доводилось использовать в разных сочетаниях с С и с С++ и с разными средами разработки) и методов их использования.

В любом случае спасибо за дискуссию, было интересно (всегда интересно!) узнать альтернативную точку зрения!


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

Share this post


Link to post
Share on other sites

Тема "Кто на чем чаще пишет" плавно перетекла в "AVR vs PIC" у кого как реализована косвенная адресация и у кого лучше...

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. 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...

  • Similar Content

    • By dron92
      Подскажите как вернуть к жизни контролер или в утиль!
      Решил собрать программатор AVRISP mkII купил микросхему собрал подключил а устройств нет в диспетчере и  Flip не видит его!
      Начал искать косяки в сборке не нашел решил спаять Отладочная плату
      тот же результат, попробовал подключить через ISP не отвечает !
      Решил пойти на крайние меры  подключил через FuseDoctor сигнатуру он не видел вел 1e9482 вроде увидел но результата сбросить не проучилось но теперь он начал видится в таком формате фото внизу




    • Guest Виктор
      By Guest Виктор
      Здрасте, я хочу разобраться как работает и программируется мк и для этого выбрал среду разработки AtmelStudio. Привлекла она тем, что в ней есть симуляторы микроконтроллеров и покупать отладочные платы с мк не нужно, чтобы просто проверить код, что в какой регистр записывается и т.д. Захотел заглянуть в заголовочный файл, нашёл там строки:
      if __AVR_ARCH__ >= 100
      #    define __SFR_OFFSET 0x00
      #  else
      #    define __SFR_OFFSET 0x20
      #  endif
      P.S. модель взял atmega16
      Стал искать документацию по этому файлу... так и не нашёл. Потом пришла идея посмотреть значение __AVR_ARCH__ через отладку, поставил там точку, нажал на запуск с отладкой, но не вышло... отладчик сразу переходит на функцию мейн. Подумал, что может это препроцессорная директива, поэтому и не заходит, но потом наткнулся на это: https://docs.microsoft.com/ru-ru/visualstudio/debugger/navigating-through-code-with-the-debugger?view=vs-2019 ... там в конце темы показано что в VS можно отлаживать и исходники. Пытался найти такие же настройки в Atmelstudio... не нашёл. Помогите пожалуйста, есть ли такая возможность в AtmelStudio посмотреть значения констант и переменных в заголовочных файлах?



    • By pedrofan
      Здравствуйте, помогите, пожалуйста, данная программа должна несколько раз инкрементировать введеное с клавиатуры значение, например, если я ввожу 31, то на выходе должно получиться 31 32 33 34, а в протеусе получается вот. Прилагаю код.

      lab_4_1.asm
    • By RIMUS1989i
      Здравствуйте. Затеялся собрать анализатор спектра на светодиодах, 20x20 светодиодов, МК ATMEGA328P. 
      Долго ломал голову, как переключать столбцы без использования МК, дабы его не загружать.И вот что у меня получилось. Набросал тестовую прошивку для теста в протеусе. 
      При инилизации подается импульс на вторую ножку U4a, и на предпоследнем столбце.
      Думал сетку сделать на 5 сдвиговых регистрах (как раз 40 сигнальных линий), но боюсь мощности МК не хватит для обработки FFT и вывода на матрицу, будет подвисать.
      Кто что думает по поводу схемы?
      бегущая строка.pdsprj Natali_2012_program.hex
    • By Максим123456789
      делаю диплом, в схеме у меня микроконтроллер PIC16F688 и мне нужно его заменить на ATmega. Не могу найти похожий
  • Сообщения

    • При таком раскладе, любая жаба - царевна
    • Я не знаю что у вас там срабатывает, потому-что вы не пишите в личку о проблеме, а пытаетесь натоптать в этой теме. Я за вашими темами не слежу, если у кого-то возникают проблемы, я всегда готов починить свои изделия абсолютно бесплатно.
    • Хе-хе    https://yadi.sk/i/OsW1cN1w177umw
    • Проволоку в телевизор мотать очень дорого. Это отпадает сразу. Остается на 90%, что это металлопленочный т.к. рассчитан на большой перегрев.  Но правильно было сказано:  
    • Чуть в другом - моем посте на этой мс -вы можете проследить на видео работу этой защиты на резестивную нагрузку -оба плеча - в динамике -срабатывает уже при совсем малой нагрузке , при просто так -абы -докопатся) -не говорил -бы-  мне это не нужно , это проблема есть ,а мало обращаются -скорее всего из-за того что у всех разные запросы в музыке (разная динамическая нагрузка)-разные усилители и хромкоговорители) а не потому что у кого она вдруг начинает с того ни с сего выносить мозг , я не первый и не последний - кто вам за это говорит и со временем вы начнете терять клиентов из-за этого .
    • Надо более действенное...
×
×
  • Create New...