29.03.2016, 00:21
|
|
Частый гость
Регистрация: 13.12.2015
Адрес: Екатеринбург
Сообщений: 40
Сказал спасибо: 99
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Re: Какие процессоры\контроллеры изучать с нулевыми навыками? :)
А какая среда больше возможностей даёт - IAR, Keil, CooCox, или Eclipse? По функционалу и качеству, удобство не в приоритете.
Похоже, что всё таки Keil?
Сообщение от 3comma62
|
Это у вас будет хобби или работа на всю жизнь? Какой первый проект видите?
|
Пока ещё не знаю))
Первый проект будет мигание светодиодом
А дальше уже подумаю потяну ли намеченное.
|
|
|
|
29.03.2016, 09:19
|
|
Прописка
Регистрация: 07.02.2016
Адрес: Лесной Урал
Сообщений: 163
Сказал спасибо: 121
Сказали Спасибо 71 раз(а) в 37 сообщении(ях)
|
Re: Какие процессоры\контроллеры изучать с нулевыми навыками? :)
Если бы мне было столько лет, сколько ТС, то я бы изучил PIC, AVR, STM ... . Никакой сверхзадачи в этом нет. B шлепал бы под задачу соответствующие решения. И обязательно ASM + СИ. Года для общего понимания вполне хватит. Но начал бы с PIC.
|
|
|
Сказали "Спасибо" 3comma62
|
|
|
30.03.2016, 10:29
|
|
Гражданин KAZUS.RU
Регистрация: 15.02.2011
Адрес: Витебск, Беларусь.
Сообщений: 547
Сказал спасибо: 484
Сказали Спасибо 606 раз(а) в 214 сообщении(ях)
|
Re: Какие процессоры\контроллеры изучать с нулевыми навыками? :)
Сообщение от RMH1989
|
Всего так много А то что нибудь изучу, а он уже устаревший\неактуальный
|
В корне неправильный подход. Готовьтесь к тому, что что бы Вы не изучили, оно через какое-то время станет устаревшим/неактуальным. И учиться придется всю жизнь.
Вот Вам алгоритм:
1. Покупаете пару ATTiny2313 (в DIP), DS18B20, индикатор на HD44780, TSOP1736, светодиодики, семисегментники. Плюс, естественно, рассыпуху по-мелочи, в т.ч. на программатор для COM - порта (если у Вас в компе есть такой порт). Вкуриваете ассемблер. Собираете в макете всё, что можно на имеющейся комплектухе. Главная задача: понять суть устройства под названием "микроконтроллер", изучить протоколы работы с периферией на самом низком уровне, прочувствовать разницу между моделью в Протеусе и реальным железом, набить руку в сопряжении МК с периферией (особое внимание уделите компаратору - этот "мини-АЦП" поможет понять суть косяков, возникающих в "настоящих" АЦП). Соберите законченное устройство (несложное, например, диммер для люстры с сенсорным управлением и управлением от пульта ДУ ТВ (с оперативным программированием кодов команд) и т.п.).
2. Купите адаптер на ENC28J60. Вкурите Ethernet и C. Прочувствуйте, насколько C упрощает рутину (ура!!! не надо регистры вручную распределять!). Подключите чужие библиотеки для работы с периферией. Когда ничего не заработает так, как Вам хотелось (а не так, как хотелось автору библиотеки), прочувствуйте, как хорошо, что Вы знаете ассемблер и каждую затычку в периферии, а также то, насколько геморройным может быть C, если что-то пошло не так (заодно удивитесь размеру полученного машинного кода). Соберите жене на кухню часы/таймер, получающий точное время из Интернета по NTP (программа на С, естественно).
3. Всё, начальная школа окончена. Складываем остатки хлама в коробочку, и решаем (да, теперь у Вас достаточно знаний, чтобы самому РЕШАТЬ), на чём будем специализироваться: сигнальные процессоры, ПЛИС, универсальные контроллеры. Думаю, победит последнее. В этом случае покупаем что-то из STM32 (что к тому времени будет доступно) и сопутствующую обвязку, изучаем, радуемся, что начали с простого контроллера, ибо на STM только код инициализации таймера сложнее, чем некоторые Ваши программы на AVR, и сунься Вы сюда сразу - не факт, что не забросили бы контроллеры нафиг. Радуемся, что есть куча софта, облегчающего разработку под STM, но сильно отдаляющего разработчика от железа (велком, школота). Творим. Выходим на пенсию. Помираем. Всё.
Почему так? А почему нет? А мне так захотелось. Вы спросили, я ответил. Никто ничего другого толком так и не предложил. Обсуждать/критиковать не стОит - не для дискуссии этот пост мной писан. Удачи.
__________________
Пытаюсь сайт сделать, пока вот что получилось: http://diy-vitebsk.ru/. Приглашаю всех поучаствовать.
|
|
|
Эти 3 пользователя(ей) сказали Спасибо shurik_ss за это сообщение:
|
|
|
30.03.2016, 11:30
|
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: Какие процессоры\контроллеры изучать с нулевыми навыками? :)
Сообщение от shurik_ss
|
радуемся, что начали с простого контроллера, ибо на STM только код инициализации таймера сложнее, чем некоторые Ваши программы на AVR, и сунься Вы сюда сразу - не факт, что не забросили бы контроллеры нафиг.
|
непонятно откуда эти страшилки берутся о сложности периферии STM32, например код инициализации системного таймера:
Код:
|
SysTick_Config(SystemCoreClock / 1000); // SysTick 1 msec |
Все. Каждую милисекунду происходят прерывания, в обработчике делаем что нужно, например такую же динамическую индикацию как в авр или пик. Это не просто, а очень просто.
обычный таймер запустить тоже не сложно:
Код:
|
TIM6-›PSC = 0x00FF; //пределитель
TIM6-›DIER |= TIM_DIER_UIE; //разрешить прерывания
TIM6-›CR1 |= TIM_CR1_CEN; //запуск таймера |
чем оно сложнее чем в пиках и в аврах, непонятно.
Порты тоже просто настраиваются на вход или на выход одной строчкой, подтяжки еще одна.
|
|
|
|
30.03.2016, 11:32
|
|
Прописка
Регистрация: 11.03.2013
Адрес: Украина.
Сообщений: 113
Сказал спасибо: 58
Сказали Спасибо 235 раз(а) в 65 сообщении(ях)
|
Re: Какие процессоры\контроллеры изучать с нулевыми навыками? :)
Уважаемый топик стартер, не слушайте этих "старых хрычей" , если хотите освоить микроконтроллеры, то берите и осваивайте, начните с того что считаете сами возможным, для домашнего рукоблудствования и стирания пальцев об клаву, можно взять любой модельный ряд. Если научитесь водить "Запорожец" то сможете и "Ягуар", только от "Ягуара" будет дух захватывать, вот то же самое и в микроконтроллерах, научитесь "водить" хоть что нибудь, а там разберетесь, где дух захватывает. Это я вам говорю как нуб
|
|
|
|
30.03.2016, 11:34
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: Какие процессоры\контроллеры изучать с нулевыми навыками? :)
Сообщение от oleg110592
|
например код инициализации системного таймера:
Код:
SysTick_Config(SystemCoreClock / 1000); // SysTick 1 msec
Все.
|
Это потому, что добрые дяди написали остальное
Код:
|
static __INLINE uint32_t SysTick_Config(uint32_t ticks)
{
if (ticks › SysTick_LOAD_RELOAD_Msk) return (1); /* Reload value impossible */
SysTick-›LOAD = (ticks & SysTick_LOAD_RELOAD_Msk) - 1; /* set reload register */
NVIC_SetPriority (SysTick_IRQn, (1‹‹__NVIC_PRIO_BITS) - 1); /* set Priority for Cortex-M0 System Interrupts */
SysTick-›VAL = 0; /* Load the SysTick Counter Value */
SysTick-›CTRL = SysTick_CTRL_CLKSOURCE_Msk |
SysTick_CTRL_TICKINT_Msk |
SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */
return (0); /* Function successful */
} |
Можно, конечно, использовать это не понимая, как оно работает, why not...
|
|
|
Сказали "Спасибо" AR_Favorit
|
|
|
30.03.2016, 12:04
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.03.2010
Сообщений: 2,897
Сказал спасибо: 498
Сказали Спасибо 3,061 раз(а) в 1,425 сообщении(ях)
|
Re: Какие процессоры\контроллеры изучать с нулевыми навыками? :)
Сообщение от oleg110592
|
это в файлике core_cm0.h, который написали дяди из ARM LIMITED, имхо этим дядям начинающему можно доверять даже "не понимая, как оно работает". Для пытливого ученика можно и глянуть что там происходит...
|
Ну раз я процитировал, значит знаю откуда)))
Доверять можно, проверять обязательно всегда. А то вон, например, добрые дяди из IAR вот так расписали вектора прерываний на STM8L
Код:
|
#define TIM2_OVR_UIF_vector 0x15
#define TIM2_CAPCOM_BIF_vector 0x16
#define TIM2_CAPCOM_TIF_vector 0x16
#define TIM2_CAPCOM_CC2IF_vector 0x16
#define TIM2_CAPCOM_CC1IF_vector 0x16 |
а в даташите UIF, BIF и TIF - это один вектор, а CCxF - другой.
Прочитал даташит, таймер настроил, выставил прерывания и обработчики, а в результате фигу.
Ну ладно, IAR EW у меня старый ломаный, пошел скачал последнюю триалку, взять оттуда хедеры посвежее. А там та же ерунда
|
|
|
|
30.03.2016, 12:16
|
|
Прописка
Регистрация: 07.02.2016
Адрес: Лесной Урал
Сообщений: 163
Сказал спасибо: 121
Сказали Спасибо 71 раз(а) в 37 сообщении(ях)
|
Re: Какие процессоры\контроллеры изучать с нулевыми навыками? :)
ГЫ! Уже весело. Борьба логики, самомнения, навязчивого желания "мое слово последнее", поиска истины в условиях неопределенности начальных условий, псевдоснобизма, практики, уязвленного самолюбия и оскорбленного достоинства. В общем Чехов, Достоевский, Толстой... .
Раньше, в молодости, при споре с женщиной я записывал на листочке четко сформулированную тему спора. Потом бросил - бесполезно. Задачи в споре разные.
|
|
|
|
30.03.2016, 12:21
|
|
Прописка
Регистрация: 07.02.2016
Адрес: Лесной Урал
Сообщений: 163
Сказал спасибо: 121
Сказали Спасибо 71 раз(а) в 37 сообщении(ях)
|
Re: Какие процессоры\контроллеры изучать с нулевыми навыками? :)
Предлагаю поставить оценки самым толковым ответам в ветке на заданный ТС вопрос.
|
|
|
|
30.03.2016, 12:22
|
|
Гражданин KAZUS.RU
Регистрация: 05.04.2009
Сообщений: 976
Сказал спасибо: 35
Сказали Спасибо 155 раз(а) в 134 сообщении(ях)
|
Re: Какие процессоры\контроллеры изучать с нулевыми навыками? :)
Сообщение от AR_Favorit
|
Доверять можно, проверять обязательно всегда
|
предлагаете начинающему в начале изучить ARM Cortex M Reference Manual? Это знать вполне, имхо, достаточно:
Цитата:
|
Есть у всех Cortex, вне зависимости от производителя, такая штука как системный таймер — SysTick. Это часть ядра. Тупейший и примитивный таймер. Он ничего не умеет кроме как генерировать прерывание в заданном промежутке времени. Используется обычно во всяких RTOS для проворачивания диспетчера. К тому же его прерывание имеет высокий приоритет.
|
Сообщение от AR_Favorit
|
например, добрые дяди из IAR вот так расписали вектора прерываний на STM8L
|
не пользуюсь иаровскими хидерами, есть хидер от производителя - проблем с ним намного меньше
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:17.
|
|