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

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

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

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

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

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


Ответ
Опции темы
Непрочитано 23.02.2012, 20:44   #1281
Hives
Гражданин KAZUS.RU
 
Регистрация: 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.RU
 
Регистрация: 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, время: 21:12.


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