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

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

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

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

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

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


 
Опции темы
Непрочитано 13.09.2014, 11:34  
neyvert
Прописка
 
Регистрация: 29.06.2010
Сообщений: 104
Сказал спасибо: 14
Сказали Спасибо 9 раз(а) в 7 сообщении(ях)
neyvert на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Полагаю что от чтения! втот с помощью этой закладки!
Миниатюры:
Нажмите на изображение для увеличения
Название: ST.jpg
Просмотров: 117
Размер:	193.5 Кб
ID:	69486  
Реклама:
neyvert вне форума  
Непрочитано 14.09.2014, 16:23  
died_once
Прохожий
 
Регистрация: 30.01.2012
Сообщений: 2
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
died_once на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от Easyrider83 Посмотреть сообщение
У меня время по USB синхронизируется. Так что проблема не большая, но на будущее хотелось бы решать эту проблему как-то правильнее.
И программно включить защиту от чтения я пока так и не смог.


Вот кусок рабочего кода из рабочего проекта
проверим закрыт ли флеш
Код:
if(FLASH-›OBR &FLASH_OBR_RDPRT)
			{
		 // закрыт
			}	
	else
			{
             // не закрыт, закрываем
				FLASH_ReadProtection();
				Debug("Enable read protect\r");	
			}

------------------------
void FLASH_ReadProtection(void )
{

	flash_unlock();
	while(!flash_ready())
				{            
			}
				
    FLASH-›OPTKEYR = FLASH_KEY1;
    FLASH-›OPTKEYR = FLASH_KEY2;
while(!flash_ready())
				{           
			}
				//сотрем  системный блок
   FLASH-›CR |=FLASH_CR_OPTER ;
   FLASH-›CR |= FLASH_CR_STRT ;
while(!flash_ready())
				{            
			}
				//запишем в системны й блок		
   FLASH-›CR &= ~FLASH_CR_OPTER;			
  FLASH-›CR |=FLASH_CR_OPTPG   ;		
      OB-›RDP =((uint16_t)0x0)	 ;		//запретим чтение флеша заменить на 0
			while(!flash_ready())
			{            
			}

	 FLASH-›CR &=~FLASH_CR_OPTPG   ;		
			 FLASH-›CR |=FLASH_CR_OPTPG   ;
			  OB-› USER	=6;//апаратный ватчдог включить
while(!flash_ready())
				{           
				}
			 FLASH-›CR &=~FLASH_CR_OPTPG   ;
			 FLASH-›CR |= FLASH_CR_LOCK; //lock flash

}

---------------------------
unsigned char flash_ready() 
	{
	
		return(!(FLASH-›SR & FLASH_SR_BSY));
	}
died_once вне форума  
Непрочитано 24.09.2014, 18:36  
Uvavan
Временная регистрация
 
Регистрация: 18.04.2011
Сообщений: 84
Сказал спасибо: 23
Сказали Спасибо 6 раз(а) в 4 сообщении(ях)
Uvavan на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Здравствуйте!
Работаю с RTC контроллера stm32f103vg. Запустил все работает изменяет дату и тд.
Пробую использовать будильник. При попытки записать данные в регистры будильника - глухо нечего не пишет (см. через отладчик). Может что то упустил подскажите пожалуйста.
КОД:
PHP код:
 rtc_value=RTC-›CNTH‹‹16|RTC-›CNTL;
    
rtc_value+=60;
    while ((
RTC-›CRL&RTC_CRL_RTOFF)!= RTC_CRL_RTOFF);    
    
RTC-›CRL |= RTC_CRL_CNF;
    
RTC-›ALRH rtc_value ›› 16;
    
RTC-›ALRL rtc_value  0x0000FFFF;
    
RTC-›CRH|=RTC_CRH_ALRIE;
    
RTC-›CRL &= ~RTC_CRL_CNF

P.S. Работа с Backup domain разрешена.
P.P.S. использовать отдельно таймер не хочется при работающем РТС
Uvavan вне форума  
Непрочитано 24.09.2014, 19:01  
niXto
Почётный гражданин KAZUS.RU
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,048
Сказал спасибо: 60
Сказали Спасибо 3,954 раз(а) в 2,309 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

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

Да не, там старые грабли. Keil не показывает содержание регистров RTC в режиме отладки правильно. Какой-то косяк в дебаггере. Так что весьма вероятно, что будильник все таки сработает через ваши 60 секунд.
Easyrider83 вне форума  
Непрочитано 24.09.2014, 22:06  
golf2109
Частый гость
 
Регистрация: 24.03.2010
Адрес: Kiev
Сообщений: 14
Сказал спасибо: 4
Сказали Спасибо 1 раз в 1 сообщении
golf2109 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от Uvavan Посмотреть сообщение
Здравствуйте!
Работаю с RTC контроллера stm32f103vg. Запустил все работает изменяет дату и тд.
Пробую использовать будильник. При попытки записать данные в регистры будильника - глухо нечего не пишет (см. через отладчик). Может что то упустил подскажите пожалуйста.
КОД:
PHP код:
 rtc_value=RTC-›CNTH‹‹16|RTC-›CNTL;
    
rtc_value+=60;
    while ((
RTC-›CRL&RTC_CRL_RTOFF)!= RTC_CRL_RTOFF);    
    
RTC-›CRL |= RTC_CRL_CNF;
    
RTC-›ALRH rtc_value ›› 16;
    
RTC-›ALRL rtc_value  0x0000FFFF;
    
RTC-›CRH|=RTC_CRH_ALRIE;
    
RTC-›CRL &= ~RTC_CRL_CNF

P.S. Работа с Backup domain разрешена.
P.P.S. использовать отдельно таймер не хочется при работающем РТС
не хватает

//разрешить доступ к области резарвных данных
PWR-›CR |= PWR_CR_DBP;
golf2109 вне форума  
Непрочитано 25.09.2014, 03:32  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Да он же сказал, что backup domain разблокировал. Просто в коде не указал.
Easyrider83 вне форума  
Непрочитано 25.09.2014, 10:58  
Uvavan
Временная регистрация
 
Регистрация: 18.04.2011
Сообщений: 84
Сказал спасибо: 23
Сказали Спасибо 6 раз(а) в 4 сообщении(ях)
Uvavan на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от Easyrider83 Посмотреть сообщение
Да не, там старые грабли. Keil не показывает содержание регистров RTC в режиме отладки правильно. Какой-то косяк в дебаггере. Так что весьма вероятно, что будильник все таки сработает через ваши 60 секунд.
Да действительно работает. Просто использовал не тот вектор прерывания (RTCAlarm_IRQn). Переставил на RTC глобальное и все работает. (Почему то в хедере сразу его не увидел )
Сразу вопрос на засыпку для развития, а в каких случаях используется RTCAlarm_IRQn?
Uvavan вне форума  
Непрочитано 28.09.2014, 14:07  
Hives
Гражданин KAZUS.RU
 
Регистрация: 25.11.2010
Сообщений: 516
Сказал спасибо: 1
Сказали Спасибо 126 раз(а) в 109 сообщении(ях)
Hives на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Uvavan Это вектор для выхода из Stop/и подобных режимов по прерыванию от аларма RTC
(на моем 103-м висит на EXTI line17)
Hives вне форума  
Сказали "Спасибо" Hives
Uvavan (29.09.2014)
Непрочитано 20.10.2014, 19:11  
swat24
Гражданин KAZUS.RU
 
Регистрация: 16.03.2009
Адрес: Украина, Харьков
Сообщений: 762
Сказал спасибо: 108
Сказали Спасибо 67 раз(а) в 67 сообщении(ях)
swat24 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Добрый день. Имеется контроллер stm32f051c8t6, на ножке РА6 хочу получить шим для этого настраиваю таймер 16:
Код:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM16 , ENABLE);
  
  /* Time Base configuration */
  TIM_TimeBaseStructure.TIM_Prescaler = 0;
  TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
  TIM_TimeBaseStructure.TIM_Period = 13000-1;
  TIM_TimeBaseStructure.TIM_ClockDivision = 0;
  TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;

  TIM_TimeBaseInit(TIM16, &TIM_TimeBaseStructure);

  /* Channel 1 Configuration in PWM mode */
  TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
  TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
  TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable;
  TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;
  TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High;
  TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Set;
  TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCIdleState_Reset;


  TIM_OCInitStructure.TIM_Pulse = 6500;
  TIM_OC1Init(TIM16, &TIM_OCInitStructure);


  TIM_Cmd(TIM16, ENABLE);

  TIM_CtrlPWMOutputs(TIM16, ENABLE);
настройка порта:
Код:
  RCC_AHBPeriphClockCmd( RCC_AHBPeriph_GPIOA, ENABLE);
  
  /* GPIOA Configuration: Channel 1 as alternate function push-pull */
  GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_6;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP ;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
  
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource6, GPIO_AF_2);
Но на выходе получаю высокий уровень. Уже пробовал и на PB8 и третий таймер результат один и тот же. Сам таймер (что 3, что 16) настраивается и работает, смотрел в дебагере. Подскажите, что не правильно делаю?

Последний раз редактировалось swat24; 20.10.2014 в 19:13.
swat24 вне форума  
 

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

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

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


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