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

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

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

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

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

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


 
Опции темы
Непрочитано 21.09.2012, 13:13  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Чавой-то загрузка флеши быстрой командой в Keil через ST-Link заработала.
Обновляйте ST-Link. Особенно STLinkUSBDriver.dll
Реклама:
Easyrider83 вне форума  
Непрочитано 21.09.2012, 21:00  
IOPA4
Почётный гражданин KAZUS.RU
 
Аватар для IOPA4
 
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
IOPA4 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Подскажите, пожалуйста.
Что я делаю неправильно в инициализации RTC- часы сбрасываются при каждом включении, хотя функцию резервной батареи подключаю:
Код:
void RTC_Configuration(void)
{
  	/* Enable PWR and BKP clocks */
  	RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
  	/* Allow access to BKP Domain */
  	PWR_BackupAccessCmd(ENABLE);

  	/* Reset Backup Domain */
  	BKP_DeInit();

  	/* Enable LSE */
  	RCC_LSEConfig(RCC_LSE_ON);
  	/* Wait till LSE is ready */
  	while (RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET)
  	{}

  	/* Select LSE as RTC Clock Source */
  	RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);

  	/* Enable RTC Clock */
  	RCC_RTCCLKCmd(ENABLE);

  	/* Wait for RTC registers synchronization */
  	RTC_WaitForSynchro();

  	/* Wait until last write operation on RTC registers has finished */
  	RTC_WaitForLastTask();

  	/* Enable the RTC Second */
  	RTC_ITConfig(RTC_IT_SEC, ENABLE);

  	/* Wait until last write operation on RTC registers has finished */
  	RTC_WaitForLastTask();

  	/* Set RTC prescaler: set RTC period to 1sec */
  	RTC_SetPrescaler(32767); /* RTC period = RTCCLK/RTC_PR = (32.768 KHz)/(32767+1) */

  	/* Wait until last write operation on RTC registers has finished */
  	RTC_WaitForLastTask();
}

Последний раз редактировалось IOPA4; 21.09.2012 в 21:14.
IOPA4 вне форума  
Непрочитано 21.09.2012, 21:12  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Ловите готовую библиотеку для RTC. Только сегодня проверял - все работает.
Инитиализация:
Код:
rtc_init();
Запись:
Код:
const RTC_t SetDateAndTime={2012, 9, 21, 5, 12, 7, 0, !0};
Код:
rtc_settime(&SetDateAndTime);
Чтение:
Код:
	RTC_t DateAndTime;
	rtc_gettime(&DateAndTime)
Код:
typedef struct {
	uint16_t year;	/* 1..4095 */
	uint8_t  month;	/* 1..12 */
	uint8_t  mday;	/* 1.. 31 */
	uint8_t  wday;	/* 0..6, Sunday = 0*/
	uint8_t  hour;	/* 0..23 */
	uint8_t  min;	/* 0..59 */
	uint8_t  sec;	/* 0..59 */
	uint8_t  dst;	/* 0 Winter, !=0 Summer */
} RTC_t;
Вложения:
Тип файла: rar RTC.rar (3.3 Кб, 169 просмотров)
Easyrider83 вне форума  
Эти 2 пользователя(ей) сказали Спасибо Easyrider83 за это сообщение:
-shiva- (24.09.2012), IOPA4 (21.09.2012)
Непрочитано 21.09.2012, 23:27  
IOPA4
Почётный гражданин KAZUS.RU
 
Аватар для IOPA4
 
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,300
Сказал спасибо: 461
Сказали Спасибо 526 раз(а) в 273 сообщении(ях)
IOPA4 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от Easyrider83 Посмотреть сообщение
Ловите готовую библиотеку для RTC. Только сегодня проверял - все работает.
Спасибо, действительно работает!!!
IOPA4 вне форума  
Непрочитано 23.09.2012, 23:56  
SasaVitebsk
Гражданин KAZUS.RU
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Работаю сейчас с 407 камнем. Обратил внимание, на такую вещь. В stm32f2xx и 4xx применён новый RTC. Значительно более грамотный. А библиотеку они вынуждены делать совместимую. Получается плохо. Значительно удобнее было библиотеки для старого камня "допилить" до нового. Но тогда будут кинутыми те, кто уже использовал старую библиотеку. Вот и получается у них бредятина.
Я для себя не стал ничего городить. 4xx/2xx буду впрямую использовать, а если буду прикручивать 1хх/0хх, то напишу библиотеку соответствующую, для совместимости.
Поэтому ST-шную библиотеку крайне не рекомендую использовать.
Кроме того новый RTC ближе к другим камням. Например к LPC. Всётаки на него и следует равняться.
SasaVitebsk вне форума  
Непрочитано 27.09.2012, 15:46  
polyname
Прописка
 
Регистрация: 19.05.2012
Сообщений: 99
Сказал спасибо: 0
Сказали Спасибо 10 раз(а) в 8 сообщении(ях)
polyname на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

задолбал раздутый код стандартной либы и либы от ST.
особенно "радуют" memcpy и memset: http://codetidy.com/3636/
можно ли как-то заменить своей реализацией ?

Последний раз редактировалось polyname; 27.09.2012 в 15:51.
polyname вне форума  
Непрочитано 27.09.2012, 16:10  
polyname
Прописка
 
Регистрация: 19.05.2012
Сообщений: 99
Сказал спасибо: 0
Сказали Спасибо 10 раз(а) в 8 сообщении(ях)
polyname на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

заменил простыми циклами, бинарник сократился почти на 500 байт ! http://codetidy.com/3637/
это капец, видимо придется перекопать всю стандартную либу...
polyname вне форума  
Непрочитано 27.09.2012, 22:26  
Hives
Гражданин KAZUS.RU
 
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
Hives на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

polyname такие вещи не по размеру оценивают а по скорости. ты свое произведение тестировал?
у меня к примеру если есть выбор сделать на 10% быстрее, заплатив за это несколькими кб флеша - выигрывает всегда скорость, т.к. большая часть флеша все равно не используется.

в либе используется блочная пересылка, а теперь посмотри на свой листинг - там 1 передача на 10-20 прочих команд будет.
Hives вне форума  
Непрочитано 27.09.2012, 23:22  
polyname
Прописка
 
Регистрация: 19.05.2012
Сообщений: 99
Сказал спасибо: 0
Сказали Спасибо 10 раз(а) в 8 сообщении(ях)
polyname на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Цитата:
у меня к примеру если есть выбор сделать на 10% быстрее, заплатив за это несколькими кб флеша - выигрывает всегда скорость
у меня наоборот - в большинстве проектов контроллер редко когда загружен больше 20%, в основном обновляет индикацию и клавиатуру. Там где нужна скорость - используются прерывания, блочные пересылки на скорость реакции не влияют. Несколько Кб флеша - слишком жирно, если их всего 16 (в STM32F100C4T6).
Цитата:
в либе используется блочная пересылка, а теперь посмотри на свой листинг - там 1 передача на 10-20 прочих команд будет.
я вижу, скорее всего используется давно известный Duff device - частично развернутый цикл. Только нахрена он мне, пересылки и заполнение буферов выполняются очень редко, в основном при старте программы, плюс-минус несколько миллисекунд - ерунда, никто и не заметит. А сэкономленных несколько сотен байтов флеша - очень пригодятся...
Подозреваю что соптимизировав похожим образом и StdPeriph library можно вообще ужать код до 50%...
ну их в пень, этих индусов...

Последний раз редактировалось polyname; 27.09.2012 в 23:38.
polyname вне форума  
Непрочитано 27.09.2012, 23:53  
Hives
Гражданин KAZUS.RU
 
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
Hives на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

polyname пользуешься StdPeriphLibrary и контроллеры с 16к флеша... ты порвал мой мозх
Hives вне форума  
 

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

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

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


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