Страница 54 из 115
Добавлено: Чт май 21, 2009 21:35:56
Пухич
На сколько их хватит?
Согласуйте с ТУ.
Хотя, если есть возмога, я бы их заменил на полупровода.
Да где-же я в металлоцехе сталь-то найду?
Ну это смотря какого металла у вас цех.
Может вы по латуни.....
А что называется антидребезгом? И как он реализуется?
Антидребезгом в чистом виде называют борьбу с появлением пичков на входах, подключенных к механическим кнопкам при нажатии оных. Любые прочие шумы, помехи и всякие прочие глитчи иначе называются, давятся преимущественно задержками и проверками. Похожим образом, как и дребезг.
Код я выложил ниже, может кто скажет причину?
Вот чего вы на ассемблере не пишете.

Добавлено: Пт май 22, 2009 14:36:54
SeregaT
Пухич писал(а):Вот чего вы на ассемблере не пишете.

Вот только ассемблера мне и не хватало

Зачем мне это парево?
Добавлено: Пт май 22, 2009 22:00:39
Пухич
Вот только ассемблера мне и не хватало Smile Зачем мне это парево?
А мне вот СИшные проги для АВР читать нелегко. Я просто не вижу прямого преобразования в ассемблер, и это меня попугивает.
Хотя вообще была мысль начать пробовать Си для АВР. И даже была у меня идея изучить ВинАВР (пусть ARV позлится

), но пока времени нет. На ассемблере быстрее писать всякие мини-прожки.
Добавлено: Пт май 22, 2009 22:18:36
DrWatson
ИМХО программировать надо на том, что лучше знаешь. Языки высокого уровня хороши тем, что на всех платформах синтаксис и способы программирования одинаковы - не надо переучиваться каждый раз. Но если работаешь на 1-2 платформах и требуется в основном (или хочется) компактного и быстрого кода, то лучше на машинно-ориентированных языках.
Добавлено: Пт май 22, 2009 22:44:33
NiTr0
DrWatson писал(а):Языки высокого уровня хороши тем, что на всех платформах синтаксис и способы программирования одинаковы - не надо переучиваться каждый раз.
Не совсем так. Тот же си для пиков (уже не помню компилятор) - весьма специфичная вещь, кастрированная под архитектуру проца, реально - натянутые на асм С-комманды. Нередки ошибки типа "выражение правильно, но я его скомпилировать не могу - упростите"

Добавлено: Пт май 22, 2009 22:53:13
DrWatson
Ну это уже на совести разработчиков компилятора. Истинного Си сейчас наверно уже не найдешь.
А насчет ПИКов, спасибо, что просветил. Я только по АВР пользую, как-то он мне приглянулся.
Добавлено: Пт май 22, 2009 22:53:26
Барсик
Ой, бля.............. Ну скока можно??????????????????????
Пойду, лучше выпью йаду.................
Добавлено: Пт май 22, 2009 23:22:45
бгкот
Пухич писал(а): На ассемблере быстрее писать всякие мини-прожки.
А мне, всякие мини-прожки быстрее писать на бейсике

Добавлено: Пт май 22, 2009 23:46:47
DrWatson
Примеры:
1) собрал я зарядку для аккумов на тини13, начал писать прогу на си. заготовку набросал, откомпилил и понял - надо на асме, иначе не влезет.
2) делал часы с календарем и будильником на тини2313 с LCD в CVAVR (может и изврат, но использовал родные его библиотеки), в итоге полдня оптимизировал исходник, влезло тютелька в тютельку.
3) часы с календарем, таймером, термометрами, LCD на Mega8515 в том же CVAVR с родными библиотеками - треть Flash свободна. Можно и на бейсике писать - влезет.
А вот контроллер дисплея на Меге делают на асме - потому как это применение критично к времени выполнения команд, а отследить это легче на асме.
Писать надо на чем удобнее и быстрее, в зависимости от поставленных задач и имеющихся возможностей.
Добавлено: Пт май 22, 2009 23:50:25
suslogon
полностью согласен..нам в инсте так и говорят

Добавлено: Сб май 23, 2009 09:52:46
Arlleex
а как подключить матрицу светодиодную к МК? а то я посчитал выводы для динамической индикации 2х матриц 8х8, мне надо 5целых портов. это многовато...
как сделать по другому?
Добавлено: Сб май 23, 2009 09:57:47
DrWatson
Достаточно 3х портов. А если использовать внешние регистры с последовательной загрузкой, то хватит и 3х ног, но это лишние 3 корпуса.
Добавлено: Сб май 23, 2009 10:09:56
SeregaT
Пухич писал(а):На ассемблере быстрее писать всякие мини-прожки.
Только не для новичка. Если нет глубокого знания МК, то написание проги на ассемблере, это долгая и кропотливая работа. Для этого надо весь даташит знать наизусть.
Добавлено: Сб май 23, 2009 15:31:33
NiTr0
SeregaT писал(а):Пухич писал(а):На ассемблере быстрее писать всякие мини-прожки.
Только не для новичка. Если нет глубокого знания МК, то написание проги на ассемблере, это долгая и кропотливая работа. Для этого надо весь даташит знать наизусть.
Аж никак. Знать систему комманд + регистры (с альт ф-ями).
Остальное - нужно знать в той же мере, в какой и для С.
Добавлено: Сб май 23, 2009 15:46:46
SeregaT
Ну не знаю, мне Си удобнее. Если к примеру вывести надпись на LCD, то на Си я пишу саму надпись и вывожу её, на ассемблере это не так. Если сделать задержку, на Си я просто пишу сколько миллисекунд или микросекунд, а не высчитываю количество тактов для каждой задержки как на ассемблере. Ну и в остальном практически так-же.
Добавлено: Сб май 23, 2009 15:57:14
NiTr0
SeregaT писал(а):Ну не знаю, мне Си удобнее. Если к примеру вывести надпись на LCD, то на Си я пишу саму надпись и вывожу её, на ассемблере это не так.
Так же

процедура вывода строк, которой передается указатель на строку в оперативке или в флэше.
SeregaT писал(а):Если сделать задержку, на Си я просто пишу сколько миллисекунд или микросекунд, а не высчитываю количество тактов для каждой задержки как на ассемблере.
Проблемно сделать процедуру задержки на нужное кол-во тактов?

А вообще - я стараюсь по возможности все задержки делать таймерами.
Добавлено: Сб май 23, 2009 16:15:45
SeregaT
Такой вот вопрос.
Если я переменную объявляю вот таким образом: eeprom unsigned int a;
то значение этой переменной (а так-же каждое её изменение) записывается в eeprom. Но количество перезаписей eeprom ограничено. Какой командой можно записать значение переменной в eeprom например при нажатии кнопки "сохранить"?
Добавлено: Сб май 23, 2009 16:28:13
NiTr0
Никакой. Делать 2 отдельных переменных. Одна - еепром, другая - в памяти.
Добавлено: Сб май 23, 2009 16:32:53
SeregaT
NiTr0 писал(а):Делать 2 отдельных переменных. Одна - еепром, другая - в памяти.
Ага, понял. А потом просто присваивать значение одной переменной равное другой?
P.S. А если этого не делать, вот к примеру переменная объявлена как eeprom и нужно прибавляя по 1 изменить значение переменной скажем с 10 до 1000. То есть мы перезапишем память eeprom 990 раз? Это значит 100 таких изменений и МК на помойку? Или не так всё плохо?
Добавлено: Сб май 23, 2009 16:41:51
Pika4u
Ещё вопрос: Если мне надо будет только залить готовую прошивку в МК, мне можно будет со спокойным сердцем делать 5 проводков? Кстати: у меня есть прошивка(HEX фаил итд). Что дальше делать батник? И какую программу лучше взять для залития?