ARM STM32 F4 с чего начать?
|
|
uwrtey | Дата: Воскресенье, 19.01.2014, 20:09 | Сообщение # 1 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| Хорошая статья
Еще полезная инфа
приоритет прерываний в ARM
не успеваю за своими мыслями......
|
|
| |
ВитГо | Дата: Воскресенье, 19.01.2014, 20:26 | Сообщение # 2 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| я бы предложил немного по другому начать..
если хочется хелло ворд (мигнуть светодиодом) то http://easyelectronics.ru/arm-uchebnyj-kurs-porty-gpio.html
обязательно прочитать пару раз про тактирование контроллера, чтобы появилось понимание что откуда тактируется и насколько это важно http://easyelectronics.ru/arm-uch....32.html
ну и дальше уже про прерывания, интерфейсы spi uart таймеры и ацп \ цап обязательно попробовать что нить с пдп (dma)
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Вторник, 21.01.2014, 07:51 | Сообщение # 3 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| Цитата ВитГо ( ) помоему это не дихалта статья.. Ой, что-то я тут напутал... И еще, я пытался прицепить пдф_файл, но он не прицепляется.. первое сообщение отредактировал...
Цитата ВитГо ( ) кстати, а плата то дошла ? а то мне обещали что за 5 дней дойдет.. прошла уже неделя Нет, не дошла. Может она на почте уже лежит, но извещение я еще не получал. У нас на почте ВСЕГДА очередь из 20 человек всегда - я каждый раз жду свою очередь от 40 минут до 1,5 часа... Там то-ли персонала не хватает, то-ли пропускная способность почтового отделения низкая....
Добавлено (21.01.2014, 07:51) --------------------------------------------- вот еще статейка - Микроконтроллеры STM32 «с нуля»
еще http://a-bolshakov.ru/index/0-224
немного о языке C ( СИ ) http://eugenemcu.ru/publ/2-1-0-51 где бы побольше про этот язык почитать ? ( применимый к микроконтроллерам семейства ARM, или СИ и в Африке СИ ??? )
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Вторник, 21.01.2014, 22:12 |
|
| |
ВитГо | Дата: Вторник, 21.01.2014, 20:28 | Сообщение # 4 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| нужно что нить по проще почитать...
я бы советовал заглядывать в прилагаемую книгу, в ней много всяких примеров - многие вещи почти на пальцах объясняются..
а что касается микроконтроллерной специфики - это на практике..
p.s. я по книжкам учился правильно писать всякие циклы, сравнения, кейсы и так далее.. - то на чем логика программы пишется.. а вот вызовы стандартной библиотеки нужно смотреть в заголовочных файлах, да в примерах в инете
http://vg.ucoz.ru/load/kniga_uchebnik_po_jazyku_si/17-1-0-51
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Суббота, 25.01.2014, 21:11 | Сообщение # 5 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| Хорошая DjVu читалка http://djvu-info.ru/win_djvu/
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Суббота, 25.01.2014, 21:12 |
|
| |
ВитГо | Дата: Воскресенье, 26.01.2014, 07:35 | Сообщение # 6 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| Цитата uwrtey ( ) еще лучше поставить STDU Viewer - он и пдф и djvu читает, и весит намного меньше акробат ридера..
плата дошла ?
Виталий (аka ВитГо)
|
|
| |
Sergi | Дата: Суббота, 01.02.2014, 23:35 | Сообщение # 7 |
Подполковник
Группа: Проверенные
Сообщений: 540
Статус: Offline
| По программированию на С книг много, но вот еще и на пальцах разъяснить! Нарвался на видеоуроки. Толковый дядька в 12ти роликах рассказывает студентам о С. Некоторые тонкости написания программ я там увидел, в книгах можно и пропустить. Еще до конца не досмотрел, может вам поможет https://www.youtube.com/playlis....wqQc89O
|
|
| |
uwrtey | Дата: Четверг, 20.02.2014, 18:26 | Сообщение # 8 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| Какой софт лучше/удобнее/выгоднее использовать? Какой используете Вы ?
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Четверг, 20.02.2014, 18:26 |
|
| |
ВитГо | Дата: Четверг, 20.02.2014, 20:24 | Сообщение # 9 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| у меня стандартно: кокос.. и бесплатно, и легально, и достаточно функционально...
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Четверг, 20.02.2014, 20:52 | Сообщение # 10 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| Жаль, что СИ я пока не знаю. Будет трудно ориентироваться... Выбираю базовый материал для старта - думаю этот подойдет.
Добавлено (20.02.2014, 20:52) --------------------------------------------- Я пошарился на easyelectronics.ru - странная у них там организация сортировки материала. вот например: ARM. Учебный курс http://easyelectronics.ru/category/arm-uchebnyj-kurs - сложный для старта материал - ни чего не понял ARM Сообщество EasyElectronics.ru - http://we.easyelectronics.ru/blog/STM32/ - тут набор маленьких статей. Вроде что то понимаю.
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Четверг, 20.02.2014, 21:05 |
|
| |
uwrtey | Дата: Четверг, 20.02.2014, 21:53 | Сообщение # 11 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| О-о что я нашел для себя на ПАЯЛЬНИКЕ
ARM – это просто (часть 1) http://cxem.net/mc/mc131.php
ARM – это просто (часть 2) http://cxem.net/mc/mc132.php
ARM – это просто (часть 3) http://cxem.net/mc/mc133.phpДобавлено (20.02.2014, 21:53) --------------------------------------------- Виталий, а можно ли часть кода писать на Ассемблере, а часть на СИ? Поймет ли меня компилятор?
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Четверг, 20.02.2014, 21:50 |
|
| |
uwrtey | Дата: Пятница, 21.02.2014, 01:20 | Сообщение # 12 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| качаю мануалы Практический курс STM32. Урок 0 - Вводный. Документация. Установка IDE или статья аналог "Необходимый софт" http://easystm32.ru/for-beginners/8-soft-for-stm32
и начинаю знакомится с портами Практический курс STM32. Урок 1 - GPIO. Порты ввода-вывода или статья аналог "Порты микроконтроллера" http://easystm32.ru/for-beginners/11-mcu-ports
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Суббота, 22.02.2014, 00:28 |
|
| |
Sergi | Дата: Пятница, 21.02.2014, 21:30 | Сообщение # 13 |
Подполковник
Группа: Проверенные
Сообщений: 540
Статус: Offline
| Интересное можно почитать в этом блоге. Начало , например здесь http://teplofizik.diary.ru/p179265518.htm?oam
|
|
| |
uwrtey | Дата: Понедельник, 24.02.2014, 01:28 | Сообщение # 14 |
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Статус: Offline
| В этой статье автор предлагает вот такой код
Код 01.#include <stm32f10x_rcc.h> 02.int main(void) { 03.//Включим тактирование порта С (со светодиодами) и порта А (с кнопкой) 04.RCC->APB2ENR |= (RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOA ); 05.//Настроим ножки со светодиодами как выходы 06.GPIOC->CRH |=0x33; 07.GPIOC->CRH &= ~0xCC; 08.//Настроим ногу PA0 как вход без подтяжки (подтягивающий резистор уже есть на плате) 09.GPIOA->CRL |= 0x04; 10.GPIOA->CRL &= ~0x11; 11.while(1) { //Бесконечный цикл 12.if ((GPIOA->IDR & 0x01)==0x01) { //Кнопка нажата? 13.GPIOC->BSRR=(GPIO_BSRR_BS8|GPIO_BSRR_BS9); //Зажигаем светодиоды 14.} else { 15.GPIOC->BSRR=(GPIO_BSRR_BR8|GPIO_BSRR_BR9); //Гасим светодиоды 16.} 17.} 18.}
мне кое что не понятно в этих участках кода:
Код 07.GPIOC->CRH &= ~0xCC; и тут
Код 10.GPIOA->CRL &= ~0x11; в первом случае вместо ~0xCC можно записать число 0x1111111100110011 ( 0xFF33 ) просто таким способом ~0xCC автор лишает себя нужды в вычислении количества битов в этом регистре допустим было бы в этом регистре не 16, а 32 бита, то число 0xFF33 уже не подошло-бы! нужно было бы записать число 0xFFFFFF33 тут я с ним соглашусь.
а вот во втором случае я не могу понять почему ~0x11 логичнее было бы записать ~0xB
вот приведу расчет
0bxxxxxxxxxxxxxxxx ; это регистр изначально ( "х" - это любое лог_состояние ) 0b0000000000000100 ; это 0x04 __________________ ; это лог "ИЛИ" 0bxxxxxxxxxxxxx1xx ; это первый результат
теперь нужно произвести манипуляции с этим результатом
0bxxxxxxxxxxxxx1xx ; это первый результат 0b1111111111101110 ; это ~0x11 __________________ ; лог_И 0bxxxxxxxxxxx0x1x0 ; ну и что это такое????
а вот если бы вместо ~0x11 стояло ~0xB то получилось бы следующее:
0bxxxxxxxxxxxxx1xx ; это первый результат 0b1111111111110100 ; это ~0xB __________________ ; лог_И 0bxxxxxxxxxxxx0100 ; вот этот результат уже можно сунуть в регистр
Или же я не прав? Может я чего не понял ?
ПС: Думаю, автор опечатался что то вроде "0B" в ХЕКСЕ это "11" в десятичной..
не успеваю за своими мыслями......
|
|
| |
ВитГо | Дата: Понедельник, 24.02.2014, 20:24 | Сообщение # 15 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| ну работать с битовым полем задавая маску в hex формате - это конечно прикольный прием уменьшить понимание кода :-)
Виталий (аka ВитГо)
|
|
| |