STM32 новичку в ARM что к чему

Кто любит RISC в жизни, заходим, не стесняемся.
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: STM32 новичку в ARM что к чему

Сообщение Vov123 »

Там эти библы CMSIS и SPL разных версий.Какие-то подходят (у меня так получилось),а какие-то нет.Нашёл в сети готовый проект,выдернул оттуда всё лишнее и сделал из него шаблон,и теперь не парюсь с путями и подключениями.А вообще кайло у меня не пошло.Установил IAR,полёт нормальный.Переписал проекты созданные в CooCox.

Да,вот ссылка на отличный ресурс для начинающих http://mycontroller.ru/category/mikroko ... a-vyivoda/
Автор всё спокойно,доходчиво объясняет.Очень много примеров,при том,что они все рабочие.
Аватара пользователя
zebrox
Встал на лапы
Сообщения: 117
Зарегистрирован: Вс апр 12, 2009 22:40:37

Re: STM32 новичку в ARM что к чему

Сообщение zebrox »

Chipspace, Vov123, спасибо огромное. Кажись я его победил. Компилируется и не вываливается.
Все дело в CMSIS было.
Скачал на сайте, прописал пути и кейл перестал ругаться.
Капец, три вечера потратил на это дело...

Почему никто не пишет большими жирными буквами, что это обязательно надо и где его взять...

Если кто столкнется с подобной проблемой, то вот это надо:
STSW-STM32054
STM32F10x standard peripheral library
http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1743/PF257890

для вот этого проекта:
http://chipspace.ru/stm32-discovery-st-link/

плюс из группы System Files необходиму убрать файл core_cm3.c. С этим файлом кейл вываливается, а без него:
Rebuild target 'Target 1'
assembling startup_stm32f10x_hd.s...
compiling system_stm32f10x.c...
compiling main.c...
linking...
Program Size: Code=956 RO-data=336 RW-data=24 ZI-data=1632
"test2.axf" - 0 Error(s), 0 Warning(s).
Аватара пользователя
ChipKiller
Сверлит текстолит когтями
Сообщения: 1163
Зарегистрирован: Ср янв 05, 2011 16:25:15

Re: STM32 новичку в ARM что к чему

Сообщение ChipKiller »

zebrox писал(а):Почему никто не пишет большими жирными буквами, что это обязательно надо и где его взять...
... потому, что можно не использовать CMSIS - прежде чем начинать программировать нужно разобраться с компилятором
Foks
Поставщик валерьянки для Кота
Сообщения: 2108
Зарегистрирован: Пт авг 29, 2008 16:28:19
Откуда: Киев

Re: STM32 новичку в ARM что к чему

Сообщение Foks »

И тащемто это очевидно, что чтобы использовать CMSIS, его нужно скачать и подключить.
Giggity giggity goo!
Аватара пользователя
taraserker
Открыл глаза
Сообщения: 63
Зарегистрирован: Ср окт 08, 2008 23:09:58
Откуда: Израиль.
Контактная информация:

EXTI0

Сообщение taraserker »

Только что помучился с прерыванием в IAR.
Понимаю что срабатывает прерывание, но плата STM32F4Discovery зависает.
В итоге нащел по форумам совет, что надо подключить в проект startup_stm32f4xx.s
(добавить файл в дерево проекта) теперь радуюсь смене эффектов светодиодов при нажатии кнопки.
Буду дальше изучать.

Подскажите, можно ли не программно устранить дребезг?

Видно явное подмаргивание (от инверсий) светодиода при нажатии на кнопку.
Открыл еще раз схему, и обратил внимание что С38 "not fitted", экономят :)
Женский паяльник? Плойка - это.
mrFox
Нашел транзистор. Понюхал.
Сообщения: 190
Зарегистрирован: Пт сен 21, 2007 17:53:23
Откуда: Зарайск

Re: EXTI0

Сообщение mrFox »

taraserker писал(а):Подскажите, можно ли не программно устранить дребезг?

гм обработка клавиши состоит из 2х частей:
определение нажатия (с антидребезгом)
и период, когда не реагируем на клавишу (часто мерцать может, если у вас такого нет)

можно попробовать использовать захват таймера (только там есть цифровая фильтрация)
в Reference manual -> TIM2 to TIM5 functional description -> Capture/compare channels
и сесть на прерывание по захвату - в регистре статуса смотрим в каком канале был захват
Foks
Поставщик валерьянки для Кота
Сообщения: 2108
Зарегистрирован: Пт авг 29, 2008 16:28:19
Откуда: Киев

Re: STM32 новичку в ARM что к чему

Сообщение Foks »

Ну, классически это делается довольно просто: клавиша опрашивается с определенной частотой (к примеру, по таймеру). Событие нажатия клавиши обрабатываем сразу, с первым появлением нужного логического уровня. А отпускание обрабатываем только в том случае, если N раз подряд опрос линии порта показал, что клавиша отпущена.
Giggity giggity goo!
Аватара пользователя
taraserker
Открыл глаза
Сообщения: 63
Зарегистрирован: Ср окт 08, 2008 23:09:58
Откуда: Израиль.
Контактная информация:

Re: EXTI0

Сообщение taraserker »

mrFox писал(а):
taraserker писал(а):Подскажите, можно ли не программно устранить дребезг?

гм обработка клавиши состоит из 2х частей:
определение нажатия (с антидребезгом)
и период, когда не реагируем на клавишу (часто мерцать может, если у вас такого нет)

Спасибо за ответ, это я тогда же и реализовал.
Просто возник вопрос, (кондендсатор С38 не впаян, можно всегда его доустановить)
может есть какие то альтернативные варианты антидребезга, допустим задействовать внутренние подтягивающие резисторы.
Женский паяльник? Плойка - это.
mrFox
Нашел транзистор. Понюхал.
Сообщения: 190
Зарегистрирован: Пт сен 21, 2007 17:53:23
Откуда: Зарайск

Re: EXTI0

Сообщение mrFox »

taraserker писал(а):может есть какие то альтернативные варианты антидребезга, допустим задействовать внутренние подтягивающие резисторы.

Обычно подтяжку включают сразу, как кнопку вешают - в большинстве примеров именно так
(а иначе работать не будет) так что подтяжка скорее включенна
но подтяжка - когда кнопка в паре сантиметров от ножки, для побаловатся сойдет
для чего-либо серьезного желателен внешний резистор подтяжки,
если хотим защитить вход - резистор на вход + диоды
mrFox
Нашел транзистор. Понюхал.
Сообщения: 190
Зарегистрирован: Пт сен 21, 2007 17:53:23
Откуда: Зарайск

Re: STM32 новичку в ARM что к чему

Сообщение mrFox »

отлаживался через терминал, надоело переключатся между stm32flash и ComPort терминал
сваял програмку под Ubuntu 12 - программатор stm32f100 + терминал (программирование по USART)
по скорости как stm32flash - 16к за 3сек
prog_term_.tar.gz
прошу потестировать

PS да - для обмена надо установить Even parity
снизу настройка USART1

Код: Выделить всё

#define baudrate 115200
void init_usart(void)
{
  RCC->APB2ENR |= RCC_APB2Periph_USART1 | RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOA;
  GPIOA->CRH |= GPIO_DEF2MASK_H(USART1_TX_PIN) | GPIO_DEF2MASK_H(USART1_RX_PIN);

  USART1->BRR = (cpu_clock + baudrate/2 ) / baudrate;
  USART1->CR2 = 0; // USART_CR2_STOP_X  00 - 1bit
//  USART1->CR3 = 0;
  USART1->CR1 |= //USART_CR1_RXNEIE //прерывание
               | USART_CR1_PCE // Parity control enable; USART_CR1_PS=0 - Even parity
               | USART_CR1_M;
  USART1->CR1 |= USART_CR1_UE; // USART Enable
  USART1->CR1 |= USART_CR1_TE|USART_CR1_RE;
//  NVIC_EnableIRQ (USART1_IRQn);           //разрешить прерывания от USART1
}
Аватара пользователя
USHIN256
Родился
Сообщения: 14
Зарегистрирован: Вт дек 08, 2009 17:15:34
Откуда: УСТЬ-ИЛИМСК

Re: STM32 новичку в ARM что к чему

Сообщение USHIN256 »

Большой респект фирме ST за их гениальные микроконтроллеры STM32,прошёл месяц как на них перешёл и ни капли не желею ))) 8) 8) 8)
USHIN
Аватара пользователя
SubDia
Держит паяльник хвостом
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

Re: STM32 новичку в ARM что к чему

Сообщение SubDia »

Теперь еще гениальный учебник русского приобрести - и вообще все будет отлично. :beer:
"Желею" - и это пишет человек в 21 год :facepalm:
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: STM32 новичку в ARM что к чему

Сообщение oleg110592 »

Еще бы хотелось узнать чем они "гениальнее" других микроконтроллеров. Неужто сами пишут для себя программы? :))
Foks
Поставщик валерьянки для Кота
Сообщения: 2108
Зарегистрирован: Пт авг 29, 2008 16:28:19
Откуда: Киев

Re: STM32 новичку в ARM что к чему

Сообщение Foks »

Ага, и тогда уж восхвалять надо ARM Limited, а не ST.
Giggity giggity goo!
Аватара пользователя
Satyr
Друг Кота
Сообщения: 7439
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Откуда: г. Москва

Re: STM32 новичку в ARM что к чему

Сообщение Satyr »

oleg110592 писал(а):Еще бы хотелось узнать чем они "гениальнее" других микроконтроллеров. Неужто сами пишут для себя программы? :))

Попробуй с атмеловскими кортексами дела поиметь - быстрой поймешь -))
Аватара пользователя
USHIN256
Родился
Сообщения: 14
Зарегистрирован: Вт дек 08, 2009 17:15:34
Откуда: УСТЬ-ИЛИМСК

Re: STM32 новичку в ARM что к чему

Сообщение USHIN256 »

oleg110592 писал(а):Еще бы хотелось узнать чем они "гениальнее" других микроконтроллеров. Неужто сами пишут для себя программы? :))

Программулины мы будем сами писать ,а кортекс это зверь,по сравнению с pic и avr с их архитектурой это тамогочи и комп ))))
USHIN
Аватара пользователя
USHIN256
Родился
Сообщения: 14
Зарегистрирован: Вт дек 08, 2009 17:15:34
Откуда: УСТЬ-ИЛИМСК

Re: STM32 новичку в ARM что к чему

Сообщение USHIN256 »

Foks писал(а):Ага, и тогда уж восхвалять надо ARM Limited, а не ST.

Этой конторой особенно восхищаться надо вся умная техника на их ядрах основана :)
USHIN
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: STM32 новичку в ARM что к чему

Сообщение oleg110592 »

Попробуй с атмеловскими кортексами дела поиметь - быстрой поймешь -)) а кортексы не только СТМ и Атмел делают и вообще микроконтроллеры бывают не только кортекс
а кортекс это зверь,по сравнению с pic и avr с их архитектурой это тамогочи и комп
pic бывают и pic32 и AVR AVR32 и вообще (уже обсуждалось) - каждый микроконтроллер под свою задачу - не везде СТМ32 можно поставить
Этой конторой особенно восхищаться надо вся умная техника на их ядрах основана
вы с планшета на АРМ это сообщение отправляли? Есть еще ПК на Интел, АМД, роутеры на Мипс и много прочей техники не на АРМ
HHIMERA
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Re: STM32 новичку в ARM что к чему

Сообщение HHIMERA »

oleg110592 писал(а):каждый микроконтроллер под свою задачу - не везде СТМ32 можно поставить

Не везде... но даже эстээмовский обрезок STM32F0XX лихо гнобит все PIC16/18 и Атмеги практически по всем статьям...
И то над чем, в случае с ПИК или Мега, нужно было изрядно поизвращаться, на STM32F0XX получается легко и играючись...

По поводу МИПС (PIC32)... Надо сказать спасибо вздрочной политике днепровской Гаммы...
"Я не даю готовых решений, я заставляю думать!"(С)
Аватара пользователя
oleg110592
Друг Кота
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Re: STM32 новичку в ARM что к чему

Сообщение oleg110592 »

...практически по всем статьям только ноги слабые, да и нежные они (надо хорошее питание). И корпусов 28/20/16/14/8/6-ногих нет и еще некоторых полезных фичей не хватает. По вычислениям конечно обгоняют, но пики и авры нормально успевают приличные формулы считать, если показания раз в секунду обновлять.
Ответить

Вернуться в «ARM»