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

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

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

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

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

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


 
Опции темы
Непрочитано 27.01.2011, 22:49  
Loole
Вид на жительство
 
Регистрация: 11.05.2005
Адрес: Питер
Сообщений: 425
Сказал спасибо: 47
Сказали Спасибо 72 раз(а) в 59 сообщении(ях)
Loole на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от st_1 Посмотреть сообщение
На моём написано MB913-С01.
А гляньте версию FW. У меня такая.
Реклама:
Loole вне форума  
Непрочитано 27.01.2011, 23:02  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Один в один.
st_1 вне форума  
Непрочитано 27.01.2011, 23:06  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от gromovi Посмотреть сообщение
честно я пока i2c библиотеку прикручивался запутался еще больше.
просит на фото. а вот куда и как их определить. а тут еще и вы "ищи в папке" дык уже и не помню откуда вырвал. короче тайм аут. надо все переварить и по новой начинать с чистого листа.
Честно скажу - не с того начал . Не для старта эта либа .
Но уж начал , ладно давай вместе...
__________________
Осторожно , злой кот
dosikus вне форума  
Непрочитано 27.01.2011, 23:17  
Serega_B
Прописка
 
Регистрация: 09.11.2010
Сообщений: 102
Сказал спасибо: 4
Сказали Спасибо 28 раз(а) в 22 сообщении(ях)
Serega_B на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от ut1wpr Посмотреть сообщение
Ну не должно быть так у "правильных" загрузчиков. Загрузчик должен уметь ребутнуть кристалл, никаких процедур с питанием не должно быть! Если постоянно дергать разъем USB, его надолго не хватит. Ну да ладно, это говорит о том, что они этот глюк не побороли. Видимо, загрузка из Кейла и ИАРа тоже не завершается. Был с самого начала такой глюк. Делаем загрузку из среды Кейла либо ИАРа, передергиваем питание (кстати, это удобнее делать при помощи джампера на плате, можно даже нормально-замкнутую кнопку вместо этого джампера повесить - в любом случае, это костыль) и имеем... работу старой прошивки. Лишь загружая скомпилированный проект в режиме дебаггера, он таки загружается. Но при этом тоже требуется "передергивание" питания. Плохо! Сыро. А если мне по условиям проекта надо внести изменения и проверить именно не выключая питания, что, разве не может быть таких ситуаций? Они с этим уже третий месяц живут и рассылают борды с этим явлением.
Кажется, наконец, я понял проблему ut1wpr.
Действительно, после загрузки командой "Download Active App" (IAR 6.10.1) загруженная программа не стартует (но загружается нормально). Самое интересное, что если переключиться в STM32 ST-Link Utility, приконнектится и вызвать "Core" то там есть кнопочка "Run", нажав на которую программа ЗАПУСКАЕТСЯ. Та, что была загружена ИАРе. Получается, что железка Дисковери32 - непричем, запуск где-то в другом месте.

Сейчас целый час пытался чего-нибудь понять в ключах загрузчика ИАРа, чтобы после загрузки командой "Download Active App" где нибудь дернулся СБРОС. Не нашел. Но он такой ключ есть, ведь ST-Link Utility умеет это делать!!!

Для всех остальных, считающих что платка "с косячком" поэтому халява.
Хочу подчеркнуть - если правильно сконфигурировать загрузчик, то в "ОБЫЧНОМ" режиме "скомпилил, залил далее нажал кнопку RUN или STEP" все работает без нареканий, питание дергать не надо.
Serega_B вне форума  
Непрочитано 27.01.2011, 23:35  
dosikus
Гуру портала
 
Аватар для dosikus
 
Регистрация: 20.11.2004
Сообщений: 10,018
Сказал спасибо: 936
Сказали Спасибо 2,270 раз(а) в 1,565 сообщении(ях)
dosikus на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

И так все заново ... Следи за ходом мысли...
Идем в примеры -› папка_Keil\ARM\Examples\ST\STM32F10xFWLib\Examples \I2C\M24C08_EEPROM

Открываем main.c , пока нам нужно узнать инициализацию модуля I2C1.
Ищем и находим I2C_EE_Init(); . Ищем ее описание , естественно он находится в файле i2c_ee.c . Открываем и ищем.
Код:
  void I2C_EE_Init()
{
  /* GPIO configuration */
  GPIO_Configuration();

  /* I2C configuration */
  I2C_Configuration();
Привожу только начало . Совершенно логично что нам нужна
I2C_Configuration();
Находим ее в этом же файле.
Код:
/**************************************************  *****************************
* Function Name  : I2C_Configuration
* Description    : I2C Configuration
* Input          : None
* Output         : None
* Return         : None
**************************************************  *****************************/
void I2C_Configuration(void)
{
  I2C_InitTypeDef  I2C_InitStructure; 

  /* I2C configuration */
  I2C_InitStructure.I2C_Mode = I2C_Mode_I2C;
  I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;
  I2C_InitStructure.I2C_OwnAddress1 = I2C1_SLAVE_ADDRESS7;
  I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;
  I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit;
  I2C_InitStructure.I2C_ClockSpeed = I2C_Speed;
  
  /* I2C Peripheral Enable */
  I2C_Cmd(I2C1, ENABLE);
  /* Apply I2C configuration after enabling it */
  I2C_Init(I2C1, &I2C_InitStructure);
}
И видим - заполняется структура и передается как параметр в
I2C_Init()

Эта функция находится уже в библиотеке.
Идем в папка_Keil\ARM\RV31\LIB\ST\STM32F10x
По логике ищем файлы с названием модуля (I2C).
Открываем stm32f10x_i2c.c и находим :

Код:
 void I2C_Init(I2C_TypeDef* I2Cx, I2C_InitTypeDef* I2C_InitStruct)
{
  u16 tmpreg = 0, freqrange = 0;
  u16 result = 0x04;
  u32 pclk1 = 8000000;
  RCC_ClocksTypeDef  rcc_clocks;

  /* Check the parameters */
  assert_param(IS_I2C_ALL_PERIPH(I2Cx));
  assert_param(IS_I2C_MODE(I2C_InitStruct-›I2C_Mode));
  assert_param(IS_I2C_DUTY_CYCLE(I2C_InitStruct-›I2C_DutyCycle));
  assert_param(IS_I2C_OWN_ADDRESS1(I2C_InitStruct-›I2C_OwnAddress1));
  assert_param(IS_I2C_ACK_STATE(I2C_InitStruct-›I2C_Ack));
  assert_param(IS_I2C_ACKNOWLEDGE_ADDRESS(I2C_InitSt  ruct-›I2C_AcknowledgedAddress));
  assert_param(IS_I2C_CLOCK_SPEED(I2C_InitStruct-›I2C_ClockSpeed));

/*---------------------------- I2Cx CR2 Configuration ------------------------*/
  /* Get the I2Cx CR2 value */
  tmpreg = I2Cx-›CR2;
И так - просмотрев код , обнаруживаем что мы на самом низком уровне :
Никакие функции уже не вызываются , параметры тупо копируются в регистры модуля.

Теперь осталось отследить как какой параметр передается/конвертируется из main -› I2C_Init. И написать свою реализацию , которая естественно будет совсем не универсальным огрызком .
Таким же макаром потрошим остальные функции - передачу/прием и т.д. и т.п.

Все эти поиски здорово упрощаются в самом IDE , если проект скомпилирован :
правой кнопкой по объекту интереса и в контекстном меню -› Go to Definition of ...
__________________
Осторожно , злой кот

Последний раз редактировалось dosikus; 27.01.2011 в 23:45.
dosikus вне форума  
Эти 3 пользователя(ей) сказали Спасибо dosikus за это сообщение:
gromovi (27.01.2011), kozeka (19.03.2012), tedal (30.10.2013)
Непрочитано 27.01.2011, 23:40  
zheleznjakov
Прописка
 
Аватар для zheleznjakov
 
Регистрация: 31.03.2010
Сообщений: 200
Сказал спасибо: 3
Сказали Спасибо 48 раз(а) в 41 сообщении(ях)
zheleznjakov на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Есть ещё API открытый, и да же пример от STM,
но вот только не хочет у меня работать с новой версией 4.2.2
стирает, но тут же пишет что память не стерта
особо не разбирался пока не было времени...
А вот с СТМ8 прокатило
http://ziblog.ru/2011/01/24/stm8l-ndash-pervyiy-start/
правда сбрасывать не позволяет,
нужно будет получше почитать про API может есть все таки сброс
и подправить программу...
zheleznjakov вне форума  
Непрочитано 28.01.2011, 11:03  
PlainUser
Прописка
 
Регистрация: 09.12.2003
Сообщений: 116
Сказал спасибо: 5
Сказали Спасибо 23 раз(а) в 19 сообщении(ях)
PlainUser на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Курю доки , не удалось вкурить один момент.Если мы используем USART то какбыть с ногами CTS,DTR относящимися к нему.Мне они не нужны для flowcontrol.Зато с удовольствием использовал-бы их как gpio.
Где-то внутри чувствую что можно.Но в доке нужного места не нашел.Рисую начерно схему прибора и знание не помешало-бы.
PlainUser вне форума  
Непрочитано 28.01.2011, 11:07  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от Loole Посмотреть сообщение
А гляньте версию FW. У меня такая.
Аналогично.
ut1wpr вне форума  
Непрочитано 28.01.2011, 11:12  
ut1wpr
Почётный гражданин KAZUS.RU
 
Аватар для ut1wpr
 
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
ut1wpr на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от Serega_B Посмотреть сообщение
Кажется, наконец, я понял проблему ut1wpr.
Это не моя проблема. Это глюк. Просто аргументы в его защиту типа "...за такие деньги...". Суть-то в однозначности ответа. Есть глюк или нет...
А он есть! (с) ДМБ (про суслика)
ut1wpr вне форума  
Непрочитано 28.01.2011, 12:26  
PlainUser
Прописка
 
Регистрация: 09.12.2003
Сообщений: 116
Сказал спасибо: 5
Сказали Спасибо 23 раз(а) в 19 сообщении(ях)
PlainUser на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от PlainUser Посмотреть сообщение
Курю доки , не удалось вкурить один момент.Если мы используем USART то какбыть с ногами CTS,DTR относящимися к нему.Мне они не нужны для flowcontrol.Зато с удовольствием использовал-бы их как gpio.
Где-то внутри чувствую что можно.Но в доке нужного места не нашел.Рисую начерно схему прибора и знание не помешало-бы.
И еще , хочу использовать IAP , в AN2557 есть пример для USART1 ноги CTS и DSR которого персекаются с ногами USB .Опять вопрос, будет TX/RX USART1 работать совместно с USB ?

Последний раз редактировалось PlainUser; 28.01.2011 в 12:29.
PlainUser вне форума  
 

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

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

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


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