Среда, 04.12.2024, 17:49
Вы вошли как Гость | Группа "Гости"Приветствую Вас Гость | RSS
Главная | ARM STM32 F4 с чего начать? - Форум | Мой профиль | Регистрация | Выход | Вход
Обитель RC-инженера
Форма входа
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 9
  • 1
  • 2
  • 3
  • 8
  • 9
  • »
Модератор форума: ВитГо  
ARM STM32 F4 с чего начать?
uwrteyДата: Воскресенье, 19.01.2014, 20:09 | Сообщение # 1
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Репутация: 11
Статус: Offline
Хорошая статья

Еще полезная инфа

приоритет прерываний в ARM


не успеваю за своими мыслями......
 
ВитГоДата: Воскресенье, 19.01.2014, 20:26 | Сообщение # 2
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: 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
Репутация: 11
Статус: 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
Репутация: 20
Статус: 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
Репутация: 11
Статус: Offline
Хорошая DjVu читалка http://djvu-info.ru/win_djvu/

не успеваю за своими мыслями......

Сообщение отредактировал uwrtey - Суббота, 25.01.2014, 21:12
 
ВитГоДата: Воскресенье, 26.01.2014, 07:35 | Сообщение # 6
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
Цитата uwrtey ()
Хорошая DjVu читалка http://djvu-info.ru/win_djvu/

еще лучше поставить STDU Viewer - он и пдф и djvu читает, и весит намного меньше акробат ридера..

плата дошла ?


Виталий (аka ВитГо)
 
SergiДата: Суббота, 01.02.2014, 23:35 | Сообщение # 7
Подполковник
Группа: Проверенные
Сообщений: 540
Репутация: 55
Статус: Offline
По программированию на С книг много, но вот еще и на пальцах разъяснить! Нарвался на видеоуроки. Толковый дядька в 12ти роликах рассказывает студентам о С. Некоторые тонкости написания программ я там увидел, в книгах можно и пропустить.
Еще до конца не досмотрел, может вам поможет
https://www.youtube.com/playlis....wqQc89O
 
uwrteyДата: Четверг, 20.02.2014, 18:26 | Сообщение # 8
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Репутация: 11
Статус: Offline
Какой софт лучше/удобнее/выгоднее использовать? Какой используете Вы ?

не успеваю за своими мыслями......

Сообщение отредактировал uwrtey - Четверг, 20.02.2014, 18:26
 
ВитГоДата: Четверг, 20.02.2014, 20:24 | Сообщение # 9
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
у меня стандартно: кокос..
и бесплатно, и легально, и достаточно функционально...


Виталий (аka ВитГо)
 
uwrteyДата: Четверг, 20.02.2014, 20:52 | Сообщение # 10
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Репутация: 11
Статус: Offline
Жаль, что СИ я пока не знаю. sad Будет трудно ориентироваться...
Выбираю базовый материал для старта - думаю этот подойдет.

Добавлено (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
Репутация: 11
Статус: 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
Репутация: 11
Статус: 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
Репутация: 55
Статус: Offline
Интересное можно почитать в этом блоге.
Начало , например здесь http://teplofizik.diary.ru/p179265518.htm?oam
 
uwrteyДата: Понедельник, 24.02.2014, 01:28 | Сообщение # 14
Генерал-майор
Группа: Администраторы
Сообщений: 3300
Репутация: 11
Статус: 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
Репутация: 20
Статус: Offline
ну работать с битовым полем задавая маску в hex формате - это конечно прикольный прием уменьшить понимание кода :-)



Виталий (аka ВитГо)
 
  • Страница 1 из 9
  • 1
  • 2
  • 3
  • 8
  • 9
  • »
Поиск:


Copyright MyCorp © 2024
Сделать бесплатный сайт с uCoz