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

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

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

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

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

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


 
Опции темы
Непрочитано 14.08.2011, 13:12  
dmitriycor
Частый гость
 
Регистрация: 05.03.2011
Сообщений: 36
Сказал спасибо: 7
Сказали Спасибо 19 раз(а) в 19 сообщении(ях)
dmitriycor на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Кто пишет с библиотеками ,скажите плиз, как понять тот факт что если при частоте SYSCLK 72 МГц на ADC1 c помощью функции RCC_ADCCLKConfig() можно задавать прескалер, но если убрать эту функцию ничего не меняется т.е шарашет 72 МГц O_o на ADC1 хотя разрешено 14 max?
Реклама:
dmitriycor вне форума  
Непрочитано 14.08.2011, 13:12  
andries5
Почётный гражданин KAZUS.RU
 
Регистрация: 19.02.2008
Сообщений: 1,779
Сказал спасибо: 124
Сказали Спасибо 599 раз(а) в 416 сообщении(ях)
andries5 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

SYSTICK может тактироваться от HCLK/8 или HCLK.
andries5 вне форума  
Сказали "Спасибо" andries5
dmitriycor (14.08.2011)
Непрочитано 14.08.2011, 13:44  
avs2009
Прописка
 
Аватар для avs2009
 
Регистрация: 10.08.2010
Сообщений: 113
Сказал спасибо: 30
Сказали Спасибо 43 раз(а) в 26 сообщении(ях)
avs2009 на пути к лучшему
Вопрос Re: Изучаем STM32 Cortex M3

Начинаю изучать STM32. Использую плату Discovery и IAR.
Хочу генерировать частоту на выходе PB7 (альтернативная функция TIM17_CH1N).
Написал следующий код:
Код:
  // настраиваю порт   
  RCC-›APB2ENR|= RCC_APB2ENR_IOPBEN;
  GPIOB-›CRL |= GPIO_CRL_MODE7_1;   // PB7 - выход
  GPIOB-›CRL &=~GPIO_CRL_CNF7;       
  GPIOB-›CRL |=GPIO_CRL_CNF7_1;     // PB7 - альтернативная функция выхода
  
  // настраиваю таймер 17 
  RCC-›APB2ENR |= RCC_APB2ENR_TIM17EN;
 
  TIM17-›PSC = 2048 - 1;  // устанавливаю делитель
  
  TIM17-›ARR = 1024;      // устанавливаю до скольки будет считать 

 // устанавливаю режим работы
 // ШИМ, режим 1, обычный (пока значение в CCR1‹CNT, на выходе 1, иначе 0)
 TIM17-›CCMR1 = TIM_CCMR1_OC1M_2 | TIM_CCMR1_OC1M_1
 // заношу значение в регистр сравнения
 TIM17-›CCR1 = 255; 
 
 // разрешаю работу выхода  TIM17_CH1N
 TIM17-›CCER |= TIM_CCER_CC1NE;
   
 // включаю счетчик с перезагрузкой по достижение значения в ARR 
 TIM17-›CR1 |= TIM_CR1_CEN | TIM_CR1_ARPE;
В результате на выходе PB7 ничего не получаю.
Используя STM Studio вижу что таймер работает, в регистре CNT изменяются данные и он перезагружается при достижении 1024.

Подскажите где ошибка?
avs2009 вне форума  
Непрочитано 14.08.2011, 16:13  
dmitriycor
Частый гость
 
Регистрация: 05.03.2011
Сообщений: 36
Сказал спасибо: 7
Сказали Спасибо 19 раз(а) в 19 сообщении(ях)
dmitriycor на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

avs2009 А SYSCLK какая?
dmitriycor вне форума  
Непрочитано 14.08.2011, 16:27  
avs2009
Прописка
 
Аватар для avs2009
 
Регистрация: 10.08.2010
Сообщений: 113
Сказал спасибо: 30
Сказали Спасибо 43 раз(а) в 26 сообщении(ях)
avs2009 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Цитата:
avs2009 А SYSCLK какая?
24 МГц
в system_stm32f10x.c установил:
#define SYSCLK_FREQ_24MHz 24000000
avs2009 вне форума  
Непрочитано 14.08.2011, 17:55  
dmitriycor
Частый гость
 
Регистрация: 05.03.2011
Сообщений: 36
Сказал спасибо: 7
Сказали Спасибо 19 раз(а) в 19 сообщении(ях)
dmitriycor на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

[B]avs2009[/B попробуй через пример PWM_Output т.е. с библиотеками он работает
/* Includes ------------------------------------------------------------------*/
#include "stm32f10x.h"




TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
uint16_t CCR1_Val = 333;
uint16_t CCR2_Val = 249;
uint16_t CCR3_Val = 166;
uint16_t CCR4_Val = 83;
uint16_t PrescalerValue = 0;


void RCC_Configuration(void);
void GPIO_Configuration(void);



int main(void)
{


/* System Clocks Configuration */
RCC_Configuration();

/* GPIO Configuration */
GPIO_Configuration();

-----------------------------------------------------------------------
TIM3 Configuration: generate 4 PWM signals with 4 different duty cycles:
The TIM3CLK frequency is set to SystemCoreClock (Hz), to get TIM3 counter
clock at 24 MHz the Prescaler is computed as following:
- Prescaler = (TIM3CLK / TIM3 counter clock) - 1
SystemCoreClock is set to 72 MHz for Low-density, Medium-density, High-density
and Connectivity line devices and to 24 MHz for Low-Density Value line and
Medium-Density Value line devices

The TIM3 is running at 36 KHz: TIM3 Frequency = TIM3 counter clock/(ARR + 1)
= 24 MHz / 666 = 36 KHz
TIM3 Channel1 duty cycle = (TIM3_CCR1/ TIM3_ARR)* 100 = 50%
TIM3 Channel2 duty cycle = (TIM3_CCR2/ TIM3_ARR)* 100 = 37.5%
TIM3 Channel3 duty cycle = (TIM3_CCR3/ TIM3_ARR)* 100 = 25%
TIM3 Channel4 duty cycle = (TIM3_CCR4/ TIM3_ARR)* 100 = 12.5%
----------------------------------------------------------------------- */
/* Compute the prescaler value */
PrescalerValue = (uint16_t) (SystemCoreClock / 24000000) - 1;
/* Time base configuration */
TIM_TimeBaseStructure.TIM_Period = 665;
TIM_TimeBaseStructure.TIM_Prescaler = PrescalerValue;
TIM_TimeBaseStructure.TIM_ClockDivision = 0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);

/* PWM1 Mode configuration: Channel1 */
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_Pulse = CCR1_Val;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;

TIM_OC1Init(TIM3, &TIM_OCInitStructure);

TIM_OC1PreloadConfig(TIM3, TIM_OCPreload_Enable);

/* PWM1 Mode configuration: Channel2 */
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_Pulse = CCR2_Val;

TIM_OC2Init(TIM3, &TIM_OCInitStructure);

TIM_OC2PreloadConfig(TIM3, TIM_OCPreload_Enable);

/* PWM1 Mode configuration: Channel3 */
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_Pulse = CCR3_Val;

TIM_OC3Init(TIM3, &TIM_OCInitStructure);

TIM_OC3PreloadConfig(TIM3, TIM_OCPreload_Enable);

/* PWM1 Mode configuration: Channel4 */
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_Pulse = CCR4_Val;

TIM_OC4Init(TIM3, &TIM_OCInitStructure);

TIM_OC4PreloadConfig(TIM3, TIM_OCPreload_Enable);

TIM_ARRPreloadConfig(TIM3, ENABLE);

/* TIM3 enable counter */
TIM_Cmd(TIM3, ENABLE);

while (1)
{}
}

/**
* @brief Configures the different system clocks.
* @param None
* @retval None
*/
void RCC_Configuration(void)
{
/* TIM3 clock enable */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);

/* GPIOA and GPIOB clock enable */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |
RCC_APB2Periph_GPIOC | RCC_APB2Periph_AFIO, ENABLE);
}

/**
* @brief Configure the TIM3 Ouput Channels.
* @param None
* @retval None
*/
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;

#ifdef STM32F10X_CL
/*GPIOB Configuration: TIM3 channel1, 2, 3 and 4 */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOC, &GPIO_InitStructure);

GPIO_PinRemapConfig(GPIO_FullRemap_TIM3, ENABLE);

#else
/* GPIOA Configuration:TIM3 Channel1, 2, 3 and 4 as alternate function push-pull */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOA, &GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1;
GPIO_Init(GPIOB, &GPIO_InitStructure);
#endif
}
dmitriycor вне форума  
Непрочитано 14.08.2011, 23:24  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Скажите, где STM32 купить с доставкой в ближнее зарубежье? У нас цены от 4 евро начинаются. Жена добро не дала на разбазаривание семейного бюджета ))
Easyrider83 вне форума  
Непрочитано 15.08.2011, 00:14  
Keldish
Частый гость
 
Регистрация: 22.09.2005
Адрес: Россия Ставрополь
Сообщений: 36
Сказал спасибо: 11
Сказали Спасибо 9 раз(а) в 9 сообщении(ях)
Keldish на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

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

Сообщение от Keldish Посмотреть сообщение
Попробуйте в Элитане купить, постоянно там затариваюсь.
50р выходит камушек. Я за 23 видел.
Easyrider83 вне форума  
Непрочитано 15.08.2011, 11:34  
tanq
Гражданин KAZUS.RU
 
Регистрация: 12.10.2009
Сообщений: 576
Сказал спасибо: 30
Сказали Спасибо 138 раз(а) в 110 сообщении(ях)
tanq на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от Easyrider83 Посмотреть сообщение
50р выходит камушек. Я за 23 видел.
Это где они по 23 обитают? Наверное крупный опт?
tanq вне форума  
 

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

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

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


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