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

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

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

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

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

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


Ответ
Опции темы

Изучаем STM32 Cortex M3

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

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

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

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

Дело в том что при программном SPI я не меняю скорость и все работает. А при аппаратном работает только в 4 раза медленнее.
Sergi_alc вне форума   Ответить с цитированием
Непрочитано 25.02.2012, 21:55   #1287
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   #1288
Sergi_alc
Частый гость
 
Регистрация: 30.10.2011
Сообщений: 28
Сказал спасибо: 4
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Sergi_alc на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Попробовал менять скорость после инициализации. Максимум 500 кбит, на 1 Мбит не поднимается.
Sergi_alc вне форума   Ответить с цитированием
Непрочитано 25.02.2012, 22:12   #1289
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   #1290
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:36.


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