roboforum.ru

Технический форум по робототехнике.

МикроКонтроллер AVR начинающим - общие вопросы

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Drunya » 01 фев 2013, 21:46

Вычитал в ДШ что toggle пином можно делать не по принципу "чтение-модификация-запись" регистра PORTx, а просто установкой соответствующего бита PINx.
Итак, пишем
Код: Выделить всёРазвернуть
PINB  |= (1<<PB0);
на выходе имеем
Код: Выделить всёРазвернуть
      // 2
      PINB  |= (1<<PB0);
  62:   b0 9a          sbi   0x16, 0   ; 22
  64:   b0 9a          sbi   0x16, 0   ; 22
Бит устанавливается дважды. Это я что-то не так делаю, или глюк компилятора? Работаю в Atmel Studio 6.
Глюк по-немецки означает "счастье"...
Аватара пользователя
Drunya
 
Сообщения: 196
Зарегистрирован: 05 июн 2007, 12:20
Откуда: Киев
прог. языки: C/C++, ASSEMBLER

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение avr123.nm.ru » 01 фев 2013, 23:53

Наверно глюк.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Drunya » 03 фев 2013, 20:00

Разобрался. Оптимизатор шалит. Хотя в рамках дозволенного.
Глюк по-немецки означает "счастье"...
Аватара пользователя
Drunya
 
Сообщения: 196
Зарегистрирован: 05 июн 2007, 12:20
Откуда: Киев
прог. языки: C/C++, ASSEMBLER

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Duhas » 04 фев 2013, 10:47

Товарищи, напомните плиз, нормирован ли ток защитных дидов в портах АВР? если да, то как называется этот параметр? в дш на xmegaAU не нашел.
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение avr123.nm.ru » 04 фев 2013, 10:59

ранее не указывался в ДШ. я писал в Атмел лет 5 назад - ответили до 1 мА.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Duhas » 04 фев 2013, 11:00

большое спасибо!
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Ahtyng » 17 фев 2013, 12:00

Здравствуйте уважаемые! Так случилось, что ко мне в руки попала плата stm32f4DISCOVERY я в микроконтроллерах совершенный профан, но темой очень интересуюсь. Во многих местах советуют начинать изучение МК с ассемблера и после того как разберешься в структуре переходить на С. Но тут я столкнулся с такой проблемой: я не смог найти компилятор для stm32 или подойдет любой компилятор для AVR? Ну вообщем помогите выбрать среду разработки и компилятор.

З.Ы.: понимаю, что для ATMIL примеров и вообще материала не в пример больше, однако макетка уже есть и покупать другую как то денег жалко...
Ahtyng
 
Сообщения: 3
Зарегистрирован: 17 фев 2013, 11:47

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Myp » 17 фев 2013, 18:20

какой нафиг ассемблер.
ты ещё про перфокарты спроси
забудь это слово и не вспоминай, а тех кто советовал ассемблер смело шли в баню.

http://robocraft.ru/blog/ARM/653.html
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение elmot » 17 фев 2013, 18:33

Ahtyng писал(а):Здравствуйте уважаемые! Так случилось, что ко мне в руки попала плата stm32f4DISCOVERY я в микроконтроллерах совершенный профан, но темой очень интересуюсь. Во многих местах советуют начинать изучение МК с ассемблера и после того как разберешься в структуре переходить на С. Но тут я столкнулся с такой проблемой: я не смог найти компилятор для stm32 или подойдет любой компилятор для AVR? Ну вообщем помогите выбрать среду разработки и компилятор.

З.Ы.: понимаю, что для ATMIL примеров и вообще материала не в пример больше, однако макетка уже есть и покупать другую как то денег жалко...

Начнем с того, что не надо трогать ассемблер.
Продолжим тем, что эта плата - НЕ AVR, компиляторы и среды от AVR не пойдут. Эта плата - на базе МК STM32F407VG, совместимого с ARM Cortex M4. Для него и ищем компиляторы, а именно - IAR, KEIL, Atollic или Coocox - на выбор.
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Duhas » 17 фев 2013, 18:58

Myp писал(а): а тех кто советовал ассемблер смело шли в баню.

щас возьму и обижусь! хотя в баньку можно бы сходить!
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение avr123.nm.ru » 18 фев 2013, 02:14

Ahtyng писал(а): я не смог найти компилятор для stm32
правда? и гугл не помог?

https://www.google.ru/webhp?sourceid=ch ... =699&ion=1
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Ahtyng » 25 фев 2013, 16:13

Myp писал(а):какой нафиг ассемблер.
ты ещё про перфокарты спроси
забудь это слово и не вспоминай, а тех кто советовал ассемблер смело шли в баню.
http://robocraft.ru/blog/ARM/653.html


Все таки С++ слишком абстрагирован от "железа", а цель моя не только научиться программировать МК, но я для начала понять его. Вполне возможно, что подход мой не верен, однако сейчас я начал изучать асм и продолжу это занятие, а по сему еще пара дурацких вопросов: поморгал благополучно светодиодами и добрался я до прерываний, как будто бы все настроил: в RCC_APB2 разрешил тактирование SYSCFGEN, в SYSCFG_EXTICR1 выбрал PA0, в EXTI_IMR, EXTI_RTSR и EXTI_FTSR активировал 1-ю линию, ну и кнопку PA0 естественно инициализировал, а дальше начались непонятки.
1. В референс мануале указанны 16 мультиплексоров EXTI0-EXTI15, а векторов прерывания всего 5. Где написано какая линия по какому вектору прерываний работает(я внимательно читал референс мануал(ну не весь конечно, только этот пункт) и уверен, что не проглядел, может где то отдельно написано)?
2. Зная вектор прерывания как в эту область памяти поместить обработчик? Ассемблер я действительно знаю очень плохо, потому ногами прошу не пинать.
3. Посоветуйте книгу по ARM ассемблеру и по Keil можно и на английском, но русский конечно предпочтительнее.
4. Во многих примерах на С++ при инициализации прерывания настраивают NVIC_IRQ в референс мануале этот момент не освещен поясните пожалуйста, что это?
Ahtyng
 
Сообщения: 3
Зарегистрирован: 17 фев 2013, 11:47

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Dmitry__ » 25 фев 2013, 16:41

Про "забудь про асм", не слушай их, они все наркоманы :D
Я для stm32 asm понимал через:
http://stm32asm.ru/periph_gpio_init.html
http://teplofizik.diary.ru/?tag=4580486

тут про вектора:
http://teplofizik.diary.ru/p182735637.htm?oam#more1
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение elmot » 25 фев 2013, 21:05

Ahtyng писал(а):Все таки С++ слишком абстрагирован от "железа", а цель моя не только научиться программировать МК, но я для начала понять его.

Не так-то уж и абстрагирован. В конце концов можно на C писать, там меньше зауми.
полне возможно, что подход мой не верен, однако сейчас я начал изучать асм и продолжу это занятие, а по сему еще пара дурацких вопросов: поморгал благополучно светодиодами и добрался я до прерываний, как будто бы все настроил: в RCC_APB2 разрешил тактирование SYSCFGEN, в SYSCFG_EXTICR1 выбрал PA0, в EXTI_IMR, EXTI_RTSR и EXTI_FTSR активировал 1-ю линию, ну и кнопку PA0 естественно инициализировал, а дальше начались непонятки.

Следует учесть, что у механических кнопок есть дребезг - будут ложные срабатывания, их надо обрабатывать
1. В референс мануале указанны 16 мультиплексоров EXTI0-EXTI15, а векторов прерывания всего 5. Где написано какая линия по какому вектору прерываний работает(я внимательно читал референс мануал(ну не весь конечно, только этот пункт) и уверен, что не проглядел, может где то отдельно написано)?

http://www.st.com/st-web-ui/static/acti ... 031020.pdf
смотрим таблицу на стр 196, position 23 и position 40

2. Зная вектор прерывания как в эту область памяти поместить обработчик? Ассемблер я действительно знаю очень плохо, потому ногами прошу не пинать.

просмотрите ассемблеровские файлы из стандартной библиотеки, поищите там Vector Table

4. Во многих примерах на С++ при инициализации прерывания настраивают NVIC_IRQ в референс мануале этот момент не освещен поясните пожалуйста, что это?

Освещен. NVIC - это Nested vectored interrupt controller. Это контроллер прерываний, если его не настроить, прерываний не будет.
Аватара пользователя
elmot
 
Сообщения: 5691
Зарегистрирован: 10 ноя 2011, 12:02
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья

Re: МикроКонтроллер AVR начинающим - общие вопросы

Сообщение Duhas » 26 фев 2013, 13:45

а пчаму все это в ветке про АВР ? )
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"
Аватара пользователя
Duhas
 
Сообщения: 6338
Зарегистрирован: 15 сен 2007, 13:03
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович

Пред.След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7