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

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

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

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

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

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


 
Опции темы
Непрочитано 23.01.2011, 22:01  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от andries5 Посмотреть сообщение
dosikus, Создаю папку проекта например "Test", в нее копирую
STM32_Init.c
STM32_Init.h
STM32_Reg.h
далее в кейле создаю проект в данной папке. В ней же создаю "main.c"
Забыл про startup .
Выложи целиком проект , плиз...
Реклама:
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 23.01.2011 в 22:11.
dosikus вне форума  
Непрочитано 23.01.2011, 22:03  
zheleznjakov
Прописка
 
Аватар для zheleznjakov
 
Регистрация: 31.03.2010
Сообщений: 200
Сказал спасибо: 3
Сказали Спасибо 48 раз(а) в 41 сообщении(ях)
zheleznjakov на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от gromovi Посмотреть сообщение
НЕ ИНФОРМАТИВНО! куча писанины, нельзя ли как то более человекопонятно сделать? типо
порт на выход(регистр = чему то там)
Глянь у меня макросы, не для кейла, но может будут полезны
http://ziblog.ru/category/mikrokontrolleryi/stm32/
zheleznjakov вне форума  
Эти 2 пользователя(ей) сказали Спасибо zheleznjakov за это сообщение:
gromovi (23.01.2011)
Непрочитано 23.01.2011, 22:25  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от andries5 Посмотреть сообщение
dosikus, Создаю папку проекта например "Test", в нее копирую
STM32_Init.c
STM32_Init.h
STM32_Reg.h
далее в кейле создаю проект в данной папке. В ней же создаю "main.c"

#include "stm32f10x.h"
#include "STM32_Init.h"

#define Led_blue_off GPIOC-›BRR =GPIO_BRR_BR8
#define Led_blue_on GPIOC-›BSRR =GPIO_BSRR_BS8
#define Led_green_off GPIOC-›BRR =GPIO_BRR_BR9
#define Led_green_on GPIOC-›BSRR =GPIO_BSRR_BS9
#define Button_User GPIOA-›IDR & GPIO_IDR_IDR0

int main(void)
{

Led_green_on;
Led_blue_on;

while (1)
{

}
}

в "STM32_Init.c" в строке 5529 меняю имя функции "stm32_Init" на "SystemInit".
Когда открыт "STM32_Init.c" на вкладке его внизу есть "Configuration Wizard".
Нажимаю на ней и в данном мастере удобно настроить порты, частоту, таймеры (правда только четыре), RTC, wdg, USART. Компилирую и радуюсь как дитя. Для симуляции меняю имя процессора на stm32f103RB и тогда в симуляторе в периферии смотрю состояние и частоты и портов и чего угодно.
Но все-же видимо буду ломать голову над "STM32F10x_StdPeriph_Driver". Уже что-то вырисовывается.
Гы... В симуляторе то оно может и будет работать ...
В Discovery валимся а HardFalut .
Выложи проект , может у мну что не так...
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 23.01.2011, 22:36  
andries5
Почётный гражданин KAZUS.RU
 
Регистрация: 19.02.2008
Сообщений: 1,812
Сказал спасибо: 126
Сказали Спасибо 605 раз(а) в 422 сообщении(ях)
andries5 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от dosikus Посмотреть сообщение
Забыл про startup
Не забыл. При создании проекта кейл сам добавляет его в зависимости от выбранного МК.
Вложения:
Тип файла: zip Test20.zip (299.7 Кб, 468 просмотров)
andries5 вне форума  
Непрочитано 23.01.2011, 22:39  
andries5
Почётный гражданин KAZUS.RU
 
Регистрация: 19.02.2008
Сообщений: 1,812
Сказал спасибо: 126
Сказали Спасибо 605 раз(а) в 422 сообщении(ях)
andries5 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от andries5 Посмотреть сообщение
симуляторе то оно может и будет работать ...
В Discovery валимся а HardFalut .
Работает и в симуляторе, и при установке stm32f100rb device создает hex файл работающий на Discovery. Проверенно.
При создании проекта указывать device stm32f100rb, как в Discovery.
andries5 вне форума  
Непрочитано 23.01.2011, 22:40  
gromovi
Заблокирован
 
Регистрация: 12.09.2009
Сообщений: 420
Сказал спасибо: 148
Сказали Спасибо 166 раз(а) в 118 сообщении(ях)
gromovi на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

почистил system_stm32f10x.c теперь все более менее проясняется.
Код:
#include "stm32f10x.h"

static void SetSysClockTo24(void); 

void SystemInit (void)
{
  /* Reset the RCC clock configuration to the default reset state(for debug purpose) */
  /* Set HSION bit */
  RCC-›CR |= (uint32_t)0x00000001;
   
  /* Reset HSEON, CSSON and PLLON bits */
  RCC-›CR &= (uint32_t)0xFEF6FFFF;

  /* Reset HSEBYP bit */
  RCC-›CR &= (uint32_t)0xFFFBFFFF;

  /* Reset PLLSRC, PLLXTPRE, PLLMUL and USBPRE/OTGFSPRE bits */
  RCC-›CFGR &= (uint32_t)0xFF80FFFF;
 
  /* Disable all interrupts and clear pending bits  */
  RCC-›CIR = 0x009F0000;

  /* Reset CFGR2 register */
  RCC-›CFGR2 = 0x00000000;      

  /* Configure the System clock frequency, HCLK, PCLK2 and PCLK1 prescalers */
  /* Configure the Flash Latency cycles and enable prefetch buffer */
  SetSysClockTo24();
}

static void SetSysClockTo24(void)
{
  __IO uint32_t StartUpCounter = 0, HSEStatus = 0;
  
  /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/    
  /* Enable HSE */    
  RCC-›CR |= ((uint32_t)RCC_CR_HSEON);
 
  /* Wait till HSE is ready and if Time out is reached exit */
  do
  {
    HSEStatus = RCC-›CR & RCC_CR_HSERDY;
    StartUpCounter++;  
  } while((HSEStatus == 0) && (StartUpCounter != HSEStartUp_TimeOut));

  if ((RCC-›CR & RCC_CR_HSERDY) != RESET)
  {
    HSEStatus = (uint32_t)0x01;
  }
  else
  {
    HSEStatus = (uint32_t)0x00;
  }  

  if (HSEStatus == (uint32_t)0x01)
  {
 
    /* HCLK = SYSCLK */
    RCC-›CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1;
      
    /* PCLK2 = HCLK */
    RCC-›CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1;
    
    /* PCLK1 = HCLK */
    RCC-›CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV1;

    /*  PLL configuration:  = (HSE / 2) * 6 = 24 MHz */
    RCC-›CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL));
    RCC-›CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1_Div2 | RCC_CFGR_PLLMULL6);

    /* Enable PLL */
    RCC-›CR |= RCC_CR_PLLON;

    /* Wait till PLL is ready */
    while((RCC-›CR & RCC_CR_PLLRDY) == 0)
    {
    }

    /* Select PLL as system clock source */
    RCC-›CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_SW));
    RCC-›CFGR |= (uint32_t)RCC_CFGR_SW_PLL;    

    /* Wait till PLL is used as system clock source */
    while ((RCC-›CFGR & (uint32_t)RCC_CFGR_SWS) != (uint32_t)0x08)
    {
    }
  }
  else
  { /* If HSE fails to start-up, the application will have wrong clock 
         configuration. User can add here some code to deal with this error */
  } 
}
и всего то надо для старта.

Последний раз редактировалось gromovi; 23.01.2011 в 22:49.
gromovi вне форума  
Непрочитано 23.01.2011, 22:42  
gromovi
Заблокирован
 
Регистрация: 12.09.2009
Сообщений: 420
Сказал спасибо: 148
Сказали Спасибо 166 раз(а) в 118 сообщении(ях)
gromovi на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от zheleznjakov Посмотреть сообщение
Глянь у меня макросы, не для кейла, но может будут полезны
http://ziblog.ru/category/mikrokontrolleryi/stm32/
сам ресурс полезен. с гугла хрен найдешь.
gromovi вне форума  
Непрочитано 23.01.2011, 22:49  
andries5
Почётный гражданин KAZUS.RU
 
Регистрация: 19.02.2008
Сообщений: 1,812
Сказал спасибо: 126
Сказали Спасибо 605 раз(а) в 422 сообщении(ях)
andries5 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

А я больше недели сидел, не мог понять. В документации все из одного файла в другой надо лезть и искать нужное. А кто разобрался раньше, говорят: там не сложно, читайте даташит. Пришлось самому. Сейчас разбираюсь с STD_periph_drivers. Там хотя-бы инициализация периферии в правильном порядке. А уж использование зависит от дальнейшей программы.

Последний раз редактировалось andries5; 23.01.2011 в 23:14.
andries5 вне форума  
Непрочитано 23.01.2011, 23:02  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

andries5, Благодарствую , все заработало.
Но что меня раздражает , то что делал все так же - облом, и в чем причина не понятно...
Сейчас тупо скопировал файлы из твоего проекта - все заработало .
Ну вот и разобрались , эти файлы у меня были с примеров с сайта Keil .
С ними не работает , с твоими все ок . Где брал ?
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 23.01.2011 в 23:09.
dosikus вне форума  
Непрочитано 23.01.2011, 23:13  
andries5
Почётный гражданин KAZUS.RU
 
Регистрация: 19.02.2008
Сообщений: 1,812
Сказал спасибо: 126
Сказали Спасибо 605 раз(а) в 422 сообщении(ях)
andries5 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от dosikus Посмотреть сообщение
Где брал ?
Уже и не помню. Голова крУгом ходила. На Easyelectronics у DiHalt-а, кажется.
andries5 вне форума  
 

Закладки
Опции темы

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Школа АRMрестлинга Uragan90 Микроконтроллеры, АЦП, память и т.д 54 22.08.2011 16:13
ARM Cortex M3 + Linux SiMiLya Микроконтроллеры, АЦП, память и т.д 10 17.06.2011 17:20
Помогите с STM32 - очень нужно... yakuzaa Микроконтроллеры, АЦП, память и т.д 60 04.08.2010 11:04
Как добавить поддержку для STM32 SFHK Микроконтроллеры, АЦП, память и т.д 11 18.12.2009 18:09


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


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