Index · Правила · Поиск· Группы · Регистрация · Личные сообщения· Вход

Список разделов Радио и электроника
 
 
 

Раздел: Радио и электроника "Изучаем микроконтроллеры". Старт с нуля. 

Создана: 25 Августа 2011 Чтв 9:23:10.
Раздел: "Радио и электроника"
Сообщений в теме: 29, просмотров: 7168

На страницу: Назад  1, 2  Вперёд
  1. rv9me


    Участник


    Более 10 лет на форумеМуж.
    25 Августа 2011 Чтв 9:23:10
    Начало данной темы было положено в топике:
    https://omsk.com/viewtopic.php?t=207103

    Топик потерял актульность для ТС, в плане поиска работы, но информация выложенная там может еще много кому пригодится. Предлагаю здесь продолжить начатую тему.
    В связи с чем объявляется набор профессуры и студентов.
    Для начала есть смысл остановится на двух типах МК - от микрочип(PIC) и Атмел(AVR), как более понятные для начинающих. Так же остановится на двух азыках программирования - Си(как более понятный для людей имеющих опыт в программировании на ПК) и ассемблере (как язык, позволяющий лучше понять архитектуру МК).
    Рассматриваться другие типы МК и языки, в данной ветке конечно могут, но поверхностно, так ветка для начинающих и много воды будет для нее вредно.
  2. 25 Августа 2011 Чтв 9:33:02
    Записывайте меня в студенты.
  3. rv9me


    Участник


    Более 10 лет на форумеМуж.
    25 Августа 2011 Чтв 9:34:52
    Nikolaq писал : Записывайте меня в студенты.


    Вас мы запишим в играющие тренера, как и Пиктела.
  4. rv9me


    Участник


    Более 10 лет на форумеМуж.
    25 Августа 2011 Чтв 10:03:35
    Для начала хотелось бы услышать, кто как стартовал в этой области, какие пакеты для программирования использовал, какие чипы, какую литературу изучал, какие трудности испытал, какие первые важные уроки получил на старте.
    Для начала расскажу о себе, впервые столкнулся с самостоятельным программированием МК(только заливка прошивки) шесть лет в проекте по включению автомата диафрагмы и сигнализации о фокусировке отечественного объектива на автофокусных фотокамерах от "Минолта". Использовался чип Аттини 12. Потом небольшой проект по созданию УСБи клавиатуры(к ПК) с энкодерами, чипы Аттини2313 и Атмега8, до этого собрал УСБ программатор для AVR.
    [внешняя ссылка]
    что позволило мне понять что такое фьзы, как производить заливку в МК, читать исходники(не до конца их понимая).

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

    Из первоначального опыта усвоил следующие уроки:
    1. Не желательно без необходимости "включать" светодиоды на выходе МК "единицей", говорят это плохой тон, лучше их коммутировать "нулем", естественно это относится к прямому включению светодиода через резистор на ногу МК.
    2. Нельзя оставлять пустыми входы МК, в противном случае, значения на входах будут не предсказуемыми.
    3. При выборе МК, обязательно учитывать поддержку этого МК в программах компиляции и эмуляции в которых работаешь.
    4. Компиляторы языков не всегда взаимозаменяемые, т.е. программа написанная под один компилятор, при переходе на другой, как правило требует портирования.

    Это пока все.
  5. 25 Августа 2011 Чтв 11:53:47
    Просвещайтесь: [внешняя ссылка]
  6. Dominikanez


    Завсегдатай


    Более 10 лет на форумеМуж.
    25 Августа 2011 Чтв 12:01:51
    rv9me писал : 2. Нельзя оставлять пустыми входы МК, в противном случае, значения на входах будут не предсказуемыми.

    Зачем так категорично? И бездоказательно.
  7. 25 Августа 2011 Чтв 13:49:49
    Dominikanez писал :
    rv9me писал ... : 2. Нельзя оставлять пустыми входы МК, в противном случае, значения на входах будут не предсказуемыми.

    Зачем так категорично? И бездоказательно.


    Обоснуйте обратное Смайлик :-)
  8. Dominikanez


    Завсегдатай


    Более 10 лет на форумеМуж.
    25 Августа 2011 Чтв 17:07:18
    Altair ® писал(а) :
    Dominikanez писал ... :
    Зачем так категорично? И бездоказательно.

    Обоснуйте обратное Смайлик :-)

    Отмечу, что я против категоричности, но не против этого пункта. Неиспользуемые в процессе работы устройства входы МК можно оставлять незадействованными. Но наряду с этим требуется проверить, что эти выводы действительно в программе не используются. Вот выдержка из документации на известный многим МК серии AVR ATMega8:
    Код:
    If some pins are unused, it is recommended to ensure that these pins have a defined level. Even though most of the digital inputs are disabled in the deep sleep modes as described above, floating inputs should be avoided to reduce current consumption in all other modes where the digital inputs are enabled (Reset, Active mode and Idle mode).
    The simplest method to ensure a defined level of an unused pin, is to enable the internal pull-up. In this case, the pull-up will be disabled during reset. If low power consumption during reset is important, it is recommended to use an external pull-up or pull-down.
    Connecting unused pins directly to VCC or GND is not recommended, since this may cause excessive currents if the pin is accidentally configured as an output.

    Как видите, про НЕЛЬЗЯ здесь речи не идет. Есть рекомендация: не давать болтаться неиспользуемому выводу, подключив внутреннюю подтяжку. А на примере этого и много других контроллеров при подаче питания порты всегда настроены на вход с включенной подтяжкой. И если программист не дурак, то он не будет отключать выставленную по дефолту микроконтроллером подтяжку. И пусть себе болтается тогда неподключенной.
  9. Dominikanez


    Завсегдатай


    Более 10 лет на форумеМуж.
    25 Августа 2011 Чтв 17:24:43
    evgenyk писал : Просвещайтесь: [внешняя ссылка]

    Яростно поддерживаю. Особенно интересно читать блоги, как люди делятся полезным опытом и граблями, [внешняя ссылка]
  10. SABOTEUR


    Хранитель


    Более 10 лет на форумеБан, запрет писать в публичных разделах форумаМуж.
    25 Августа 2011 Чтв 20:16:59
    да очень познавательно и интересно
  11. 25 Августа 2011 Чтв 20:40:16
    Dominikanez писал :
    rv9me писал ... : 2. Нельзя оставлять пустыми входы МК, в противном случае, значения на входах будут не предсказуемыми.

    Зачем так категорично? И бездоказательно.

    Я всегда на свободных портах выставляю ноли и бросаю на произвол судьбы.Но никогда 1.
  12. 25 Августа 2011 Чтв 20:42:18
    evgenyk писал : Просвещайтесь: [внешняя ссылка]

    Ветка задумана не для того,чтоб тыкать новичков носом.Читать все умеют.Рассказать очень просто и доходчиво-вот задача ветки.
  13. 25 Августа 2011 Чтв 20:43:25
    pictele писал :
    Я всегда на свободных портах выставляю ноли и бросаю на произвол судьбы.Но никогда 1.


    Я свободные порты конфигурирую на вход и включаю подтяжку.
    Потому что если туда случайно попадет либо земля либо питание - ничего страшного не произойдет. А вот если порт будет как выход - можно и попалить.
  14. 25 Августа 2011 Чтв 20:49:42
    pictele писал :
    evgenyk писал ... : Просвещайтесь: [внешняя ссылка]

    Ветка задумана не для того,чтоб тыкать новичков носом.Читать все умеют.Рассказать очень просто и доходчиво-вот задача ветки.
    там и рассказывается просто доходчиво и можно макетку заказать
  15. 25 Августа 2011 Чтв 20:52:02
    Altair ® писал(а) :
    pictele писал ... :
    Я всегда на свободных портах выставляю ноли и бросаю на произвол судьбы.Но никогда 1.


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

    Наверное это все же лучше.Надо будет учесть.
На страницу: Назад  1, 2  Вперёд