Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


 
Опции темы

stm32f4, asm с чего начать?

Непрочитано 31.07.2012, 23:40  
sosedi
Частый гость
 
Регистрация: 31.07.2012
Сообщений: 45
Сказал спасибо: 28
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
sosedi на пути к лучшему
Радость stm32f4, asm с чего начать?

Всем привет! Люди добрые подскажите с чего начать?
Раньше программировал pic16 и 18 на asm.Теперь стоит задача изучить arm-кие МК, и вот который день долблюсь, не могу понять, даже, как зажечь светодиод.
Имеется отладочная плата STM32F4DISCOVERY.Для начала, хочу зажечь светодиод хотябы на С. Согласно datasheet stm32f4, первым делом я подключаю библиотеки и включаю тактирование порта, в моем случае GPIOC:
Код:
RCC-›AHB1ENR |= RCC_AHB1Periph_GPIOC;
потом устанавливаю порт на выход:
Код:
 /*   These bits are written by software to configure the I/O direction mode.
    00: Input (reset state)
    01: General purpose output mode
    10: Alternate function mode
    11: Analog mode*/
GPIOC-›MODER |=0x55555555;
далее задаю частоту, к примеру 50MHz :
Код:
    /*    These bits are written by software to configure the I/O output speed.
        00: 2 MHz Low speed
        01: 25 MHz Medium speed
        10: 50 MHz Fast speed
        11: 100 MHz High speed on 30 pF (80 MHz Output max speed on 15 pF)*/
    GPIOC-›OSPEEDR |=0xFFFF;
GPIOC-›OSPEEDR |=0xFFFF;
ну и высокий уровень:
GPIOC-›ODR |=0xFFFFFFFF;

не могу понять что я не так делаю???
Посоветуйте какое ПО(бесплатное) выбрать, на данный момент я остановился на CooCox!

Облазил весь нэт, ни одной программы на asm-e под STM ни нашел(( как хоть на нем писать. Может есть у когониб примеры на assemblere? буду очень благодарен)
Реклама:
sosedi вне форума  
Сказали "Спасибо" sosedi
warel (29.06.2019)
Непрочитано 31.07.2012, 23:50  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: stm32f4,asm с чего начать?

Сообщение от sosedi Посмотреть сообщение
Люди добрые подскажите с чего начать?
Накатить рюмашечку за воевавших отцов, забыть асм и начать изучать С.
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
warel (29.06.2019)
Непрочитано 31.07.2012, 23:57  
291066
Прописка
 
Регистрация: 05.03.2010
Сообщений: 144
Сказал спасибо: 47
Сказали Спасибо 195 раз(а) в 19 сообщении(ях)
291066 на пути к лучшему
По умолчанию Re: stm32f4,asm с чего начать?

Я тоже считаю, что писать на асме нет никакого смысла. Экономить байты и такты? Так ресурсов валом, бери и пользуйся.
По поводу софта - посмотри на GCC и eclipse. Мне эта связка очень понравилась. Под разные процессоры все делаешь в одной среде.

Последний раз редактировалось 291066; 01.08.2012 в 00:00.
291066 вне форума  
Сказали "Спасибо" 291066
warel (29.06.2019)
Непрочитано 01.08.2012, 00:11  
st__1
Заблокирован
 
Регистрация: 31.12.2011
Сообщений: 726
Сказал спасибо: 32
Сказали Спасибо 223 раз(а) в 162 сообщении(ях)
st__1 на пути к лучшему
По умолчанию Re: stm32f4,asm с чего начать?

Если юзаете библиотеки, то на офсайте есть примеры... скачайте и разбирайтесь...
Если CMSIS... то как-то так...
Код:
#include "stm32f4xx.h"


#define Led_Orange  13
#define Led_Green   12
#define Led_Red     14
#define Led_Blue    15


#define Led_Orange_On      (GPIOD-›BSRRL = GPIO_BSRR_BS_13)
#define Led_Orange_Off     (GPIOD-›BSRRH = GPIO_BSRR_BS_13)
#define Led_Green_On       (GPIOD-›BSRRL = GPIO_BSRR_BS_12)
#define Led_Green_Off      (GPIOD-›BSRRH = GPIO_BSRR_BS_12)
#define Led_Red_On         (GPIOD-›BSRRL = GPIO_BSRR_BS_14)
#define Led_Red_Off        (GPIOD-›BSRRH = GPIO_BSRR_BS_14)
#define Led_Blue_On        (GPIOD-›BSRRL = GPIO_BSRR_BS_15)
#define Led_Blue_Off       (GPIOD-›BSRRH = GPIO_BSRR_BS_15)

static __IO uint32_t TimingDelay;

//==================================================  ============================
void SysTick_Handler (void) 
{
  if (TimingDelay)
  { 
    TimingDelay--;
  }
}

//==================================================  ============================
void Delay_mS(uint32_t nTime)
{ 
  TimingDelay = nTime;

  while(TimingDelay);
}

//==================================================  ===========================
void InitAll(void)
{
   RCC-›AHB1ENR	|= RCC_AHB1ENR_GPIODEN;		 // Такты на порт 

   GPIOD-›MODER |= (GPIO_MODER_MODER12_0 | GPIO_MODER_MODER13_0 | GPIO_MODER_MODER14_0 | GPIO_MODER_MODER15_0);		 
   GPIOD-›OSPEEDR |= (GPIO_OSPEEDER_OSPEEDR12 | GPIO_OSPEEDER_OSPEEDR13 | GPIO_OSPEEDER_OSPEEDR14 | GPIO_OSPEEDER_OSPEEDR15);  //  100MHz
   GPIOD-›PUPDR &=~ (GPIO_PUPDR_PUPDR12 | GPIO_PUPDR_PUPDR13 | GPIO_PUPDR_PUPDR14 | GPIO_PUPDR_PUPDR15);        //  No pull-up, pull-down

   GPIOD-›ODR = 0xFFFF;    

   SysTick_Config(SystemCoreClock/1000);
         
}


//==================================================  ===========================
//==================================================  ===========================
int main(void)
{

  InitAll();

  Delay_mS(2000);  // delay 2000ms

  GPIOD-›ODR ^= ((1U ‹‹ Led_Green) | (1U ‹‹ Led_Blue) | (1U ‹‹ Led_Orange) | (1U ‹‹ Led_Red));

  Delay_mS(1000);  // delay 1000ms

  while(1)
  {
    Led_Orange_On;
    Delay_mS(200);

    Led_Orange_Off;
    Led_Red_On;
    Delay_mS(200);

    Led_Red_Off;
    Led_Blue_On;
    Delay_mS(200);

    Led_Blue_Off;
    Led_Green_On;
    Delay_mS(200);

    Led_Green_Off;
  }

}
st__1 вне форума  
Эти 2 пользователя(ей) сказали Спасибо st__1 за это сообщение:
sosedi (01.08.2012), warel (29.06.2019)
Непрочитано 01.08.2012, 00:50  
_Артём_
Гражданин KAZUS.RUN
 
Регистрация: 16.03.2011
Сообщений: 486
Сказал спасибо: 8
Сказали Спасибо 131 раз(а) в 116 сообщении(ях)
_Артём_ на пути к лучшему
По умолчанию Re: stm32f4,asm с чего начать?

Сообщение от 291066 Посмотреть сообщение
По поводу софта - посмотри на GCC и eclipse. Мне эта связка очень понравилась. Под разные процессоры все делаешь в одной среде.
Вопрос несколько шире - нужно ещё отлаживать программы.
Что использовать как gdb?
И GCC есть разные: кому-то может понадобится поддержка HW FPU, например, что лучше?
_Артём_ вне форума  
Сказали "Спасибо" _Артём_
warel (29.06.2019)
Непрочитано 01.08.2012, 09:36  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: stm32f4,asm с чего начать?

Сообщение от st__1 Посмотреть сообщение
Я не даю готовых решений, я заставляю думать.
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
warel (29.06.2019)
Непрочитано 01.08.2012, 10:09  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: stm32f4,asm с чего начать?

Сообщение от Easyrider83 Посмотреть сообщение
Сообщение от st__1 Посмотреть сообщение
Я не даю готовых решений, я заставляю думать.
Да уж, Стас сегодня отжёг...
С чего бы...
omercury вне форума  
Сказали "Спасибо" omercury
warel (29.06.2019)
Непрочитано 01.08.2012, 11:45  
st__1
Заблокирован
 
Регистрация: 31.12.2011
Сообщений: 726
Сказал спасибо: 32
Сказали Спасибо 223 раз(а) в 162 сообщении(ях)
st__1 на пути к лучшему
По умолчанию Re: stm32f4, asm с чего начать?

st__1 вне форума  
Сказали "Спасибо" st__1
warel (29.06.2019)
Непрочитано 01.08.2012, 12:15  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: stm32f4, asm с чего начать?

Лоханулся, бывает. Но мы не забудем.
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
warel (29.06.2019)
Непрочитано 01.08.2012, 12:27  
st__1
Заблокирован
 
Регистрация: 31.12.2011
Сообщений: 726
Сказал спасибо: 32
Сказали Спасибо 223 раз(а) в 162 сообщении(ях)
st__1 на пути к лучшему
По умолчанию Re: stm32f4, asm с чего начать?

Сообщение от Easyrider83 Посмотреть сообщение
Лоханулся, бывает. Но мы не забудем.
Это... про ЭТО???
st__1 вне форума  
Сказали "Спасибо" st__1
warel (29.06.2019)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С чего начать? ourlive Электроника - это просто 179 17.04.2012 23:02
С чего начать? nickdkn Песочница (вопросы новичков) 9 12.07.2011 20:13
С чего начать? Митрофаныч Микроконтроллеры, АЦП, память и т.д 17 03.10.2010 21:18
PICи - с чего начать? Alexxx2005 Микроконтроллеры, АЦП, память и т.д 11 27.05.2007 01:37
C чего начать? melkij Микроконтроллеры, АЦП, память и т.д 11 21.08.2006 13:39


Часовой пояс GMT +4, время: 06:45.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.