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

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

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

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

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

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


 
Опции темы
Непрочитано 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,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
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.RU
 
Регистрация: 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,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: stm32f4,asm с чего начать?

Сообщение от st__1 Посмотреть сообщение
Я не даю готовых решений, я заставляю думать.
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
warel (29.06.2019)
Непрочитано 01.08.2012, 10:09  
omercury
Почётный гражданин KAZUS.RU
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
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,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
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, время: 14:10.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot