Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

Изучаем STM32 Cortex M3

Непрочитано 23.02.2012, 20:44  
Hives
Гражданин KAZUS.RUN
 
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
Hives на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

а какой смысл менять проверенную среду на фиг_знает_что_еще_там_будет?
код в разы меньше и быстрее не станет, так что... я с v4 на v5 не очень то и хотел
Реклама:
Hives вне форума  
Непрочитано 24.02.2012, 08:51  
k000858
Временная регистрация
 
Регистрация: 14.11.2008
Сообщений: 68
Сказал спасибо: 3
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
k000858 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от pasipaka Посмотреть сообщение
Поблочно.... А чем тебя твои области - блоки не устраивают?
говорю ведь, хочу избавиться от загрузчика. хочу сделать так что б программа могла перезаписать сама себя. возможно такое?
k000858 вне форума  
Непрочитано 24.02.2012, 13:59  
Hives
Гражданин KAZUS.RUN
 
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
Hives на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

да, возможно. следующий вопрос?
Hives вне форума  
Непрочитано 25.02.2012, 21:16  
Sergi_alc
Частый гость
 
Регистрация: 30.10.2011
Сообщений: 28
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Sergi_alc на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Hачал изучать stm32 + MMC + FatFs. В принципе все заработало. В примерах подключения карты часто используется программный SPI. При работе на частоте 24 МГц получается скорость SPI около 1 Мбита. Захотелось перевести на аппаратный SPI2, но при этом карта инициализируется на скорости до 250 кбит. Быстрее-вылазит ошибка. Вот кусочек инициализации и чтения /записи.
Код:
RCC-›APB1ENR |= RCC_APB1ENR_SPI2EN; //подать тактирование                                     
SPI2-›CR1     = 0x0000;             //очистить первый управляющий регистр
SPI2-›CR2     = 0x0000;             //очистить второй управляющий регистр
SPI2-›CR1    |= SPI_CR1_MSTR;       //контроллер должен быть мастером    
SPI2-›CR1    |=  0x30;         //задаем скорость 30=4мкс
SPI2-›CR1    |= SPI_CR1_SPE;        //разрешить работу модуля SPI
Код:
void xmit_spi(unsigned char data)    
  {/*
    unsigned char i;
   for (i=0;i‹8;i++) //Цикл перебора битов отправляемого байта
    {
     if ((data&0x80)==0x00)//Если все данные переданы
     {
     GPIOB-›ODR &=~0x0001; //Выставить бит данных
     }
     else GPIOB-›ODR|=0x0001;
     data=data‹‹1; 
     GPIOB-›ODR|=0x0004; //Импульс
     GPIOB-›ODR&=~0x0004;
    }
  */
     while (SPI2-›SR & SPI_SR_BSY);
     while (!(SPI2-›SR & SPI_SR_TXE));     
     SPI2-›DR = data;             // Передача данных
  }
Код:
static
BYTE rcvr_spi (void)
{ /*
  //Декларация переменных
  unsigned char i, res=0; 
  for(i=0;i‹8;i++)
   {
   GPIOB-›ODR|=0x0004; //Фронт импульса
   res=res‹‹1;
   if ((GPIOB-›IDR&0x0002)!=0x00) res=res|0x01; //Считать бит данных
   GPIOB-›ODR&=~0x0004; //Спад испульса
   }
  */ 
     while (!(SPI2-›SR & SPI_SR_RXNE)) {SPI2-›DR = 0xff;};
     res = SPI2-›DR;   
  return res ;
}
закомментирован программный SPI. Подскажите, где может быть ошибка?Как поднять скорость?

Последний раз редактировалось Sergi_alc; 25.02.2012 в 22:39.
Sergi_alc вне форума  
Непрочитано 25.02.2012, 21:45  
st__1
Заблокирован
 
Регистрация: 31.12.2011
Сообщений: 726
Сказал спасибо: 32
Сказали Спасибо 223 раз(а) в 162 сообщении(ях)
st__1 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от Sergi_alc Посмотреть сообщение
но при этом карта инициализируется на скорости до 125 кбит. Быстрее-вылазит ошибка.
И что??? В чём вопрос, собственно???
До 125 это нормально... это же только инициализация, после неё поднимайте скорость SPI до 12Мбит...
st__1 вне форума  
Непрочитано 25.02.2012, 21:50  
Sergi_alc
Частый гость
 
Регистрация: 30.10.2011
Сообщений: 28
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Sergi_alc на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Дело в том что при программном SPI я не меняю скорость и все работает. А при аппаратном работает только в 4 раза медленнее.
Sergi_alc вне форума  
Непрочитано 25.02.2012, 21:55  
st__1
Заблокирован
 
Регистрация: 31.12.2011
Сообщений: 726
Сказал спасибо: 32
Сказали Спасибо 223 раз(а) в 162 сообщении(ях)
st__1 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Это у вас от непонимания работы SD... В спецификации указано - инициализация 100-400кБит... У меня тоже не все карточки выше 125 инициализируются... хоть на ПИК, хоть на АВР, хоть на NXP, хоть на STM8 или STM32...
st__1 вне форума  
Непрочитано 25.02.2012, 21:59  
Sergi_alc
Частый гость
 
Регистрация: 30.10.2011
Сообщений: 28
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Sergi_alc на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Попробовал менять скорость после инициализации. Максимум 500 кбит, на 1 Мбит не поднимается.
Sergi_alc вне форума  
Непрочитано 25.02.2012, 22:12  
st__1
Заблокирован
 
Регистрация: 31.12.2011
Сообщений: 726
Сказал спасибо: 32
Сказали Спасибо 223 раз(а) в 162 сообщении(ях)
st__1 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от Sergi_alc Посмотреть сообщение
Подскажите, где может быть ошибка?Как поднять скорость?
В проверке флагов SPI...
st__1 вне форума  
Непрочитано 25.02.2012, 22:18  
Sergi_alc
Частый гость
 
Регистрация: 30.10.2011
Сообщений: 28
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Sergi_alc на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Статус-регистр считывал. Я так понимаю что после считывания флаги сбросятся. Отдельно не надо сбрасывать? Скорость не поднималась.
Sergi_alc вне форума  
 
Опции темы

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

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, время: 01:37.


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