Итак, пишем
- Код: Выделить всё • Развернуть
PINB |= (1<<PB0);
- Код: Выделить всё • Развернуть
// 2
PINB |= (1<<PB0);
62: b0 9a sbi 0x16, 0 ; 22
64: b0 9a sbi 0x16, 0 ; 22
Технический форум по робототехнике.
PINB |= (1<<PB0);
// 2
PINB |= (1<<PB0);
62: b0 9a sbi 0x16, 0 ; 22
64: b0 9a sbi 0x16, 0 ; 22
Ahtyng писал(а):Здравствуйте уважаемые! Так случилось, что ко мне в руки попала плата stm32f4DISCOVERY я в микроконтроллерах совершенный профан, но темой очень интересуюсь. Во многих местах советуют начинать изучение МК с ассемблера и после того как разберешься в структуре переходить на С. Но тут я столкнулся с такой проблемой: я не смог найти компилятор для stm32 или подойдет любой компилятор для AVR? Ну вообщем помогите выбрать среду разработки и компилятор.
З.Ы.: понимаю, что для ATMIL примеров и вообще материала не в пример больше, однако макетка уже есть и покупать другую как то денег жалко...
Myp писал(а): а тех кто советовал ассемблер смело шли в баню.
правда? и гугл не помог?Ahtyng писал(а): я не смог найти компилятор для stm32
Myp писал(а):какой нафиг ассемблер.
ты ещё про перфокарты спроси
забудь это слово и не вспоминай, а тех кто советовал ассемблер смело шли в баню.
http://robocraft.ru/blog/ARM/653.html
Ahtyng писал(а):Все таки С++ слишком абстрагирован от "железа", а цель моя не только научиться программировать МК, но я для начала понять его.
полне возможно, что подход мой не верен, однако сейчас я начал изучать асм и продолжу это занятие, а по сему еще пара дурацких вопросов: поморгал благополучно светодиодами и добрался я до прерываний, как будто бы все настроил: в RCC_APB2 разрешил тактирование SYSCFGEN, в SYSCFG_EXTICR1 выбрал PA0, в EXTI_IMR, EXTI_RTSR и EXTI_FTSR активировал 1-ю линию, ну и кнопку PA0 естественно инициализировал, а дальше начались непонятки.
1. В референс мануале указанны 16 мультиплексоров EXTI0-EXTI15, а векторов прерывания всего 5. Где написано какая линия по какому вектору прерываний работает(я внимательно читал референс мануал(ну не весь конечно, только этот пункт) и уверен, что не проглядел, может где то отдельно написано)?
2. Зная вектор прерывания как в эту область памяти поместить обработчик? Ассемблер я действительно знаю очень плохо, потому ногами прошу не пинать.
4. Во многих примерах на С++ при инициализации прерывания настраивают NVIC_IRQ в референс мануале этот момент не освещен поясните пожалуйста, что это?