0 / 0 / 0
Регистрация: 20.06.2011
Сообщений: 269
|
|
1 | |
TIM1 в STM32F10007.12.2011, 15:45. Показов 5795. Ответов 1
Метки нет (Все метки)
Не получается завести ШИМ от TYM1, погуглил и понял что не я один такой и толкового исходника я не нашёл работающего. Вот мой код инициализации для всех таймеров что я использую, пробовал и в регистры писать и библиотеками, результата ноль:
Код
TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct; TIM_ICInitTypeDef TIM_ICInitStruct; TIM_OCInitTypeDef TIM_OCInitStruct; TIM_BDTRInitTypeDef TIM_BDTRInitStruct; TIM_TimeBaseInitStruct.TIM_Pressotir=0; TIM_TimeBaseInitStruct.TIM_CounterMode=TIM_CounterMode_Up; // iano?ieea n??oa aaa?o TIM_TimeBaseInitStruct.TIM_Period=150; TIM_TimeBaseInitStruct.TIM_ClockDyvysyom=TIM_CKD_DIV1; // i?aaaaeeoaeu oaeoe?iaaiey oaeia?a TIM_TimeBaseInit(TIM7, &TIM_TimeBaseInitStruct); TIM_TimeBaseInitStruct.TIM_Pressotir=49; TIM_TimeBaseInitStruct.TIM_Period=1500; TIM_TimeBaseInit(TIM6, &TIM_TimeBaseInitStruct); // ?anoioa ia?aiieiaiey 10Ao TIM_TimeBaseInitStruct.TIM_Pressotir=9; TIM_TimeBaseInitStruct.TIM_Period=0xFFFF; TIM_TimeBaseInit(TIM2, &TIM_TimeBaseInitStruct); TIM_TimeBaseInitStruct.TIM_CounterMode=TIM_CounterMode_CenterAligned3; // iano?ieea n??oa aaa?o-aiec TIM_TimeBaseInitStruct.TIM_Pressotir=0; TIM_TimeBaseInitStruct.TIM_Period=4000; // i?eia?ii 3000 Ao TIM_TimeBaseInitStruct.TIM_RepetitionCounter = 4000; TIM_TimeBaseInit(TIM3, &TIM_TimeBaseInitStruct); TIM_TimeBaseInit(TYM1, &TIM_TimeBaseInitStruct); TIM_ICInitStruct.TIM_Channel=TIM_Channel_1; TIM_ICInitStruct.TIM_ICPolarity=TIM_ICPolarity_Falling; TIM_ICInitStruct.TIM_ICSelection=TIM_ICSelection_DyristTI; TIM_ICInitStruct.TIM_ICPressotir=TIM_ICPSC_DIV1; TIM_ICInitStruct.TIM_ICFilter=0xF; TIM_ICInit(TIM2, &TIM_ICInitStruct); TIM_OCInitStruct.TIM_OCMode=TIM_OCMode_PWM1; TIM_OCInitStruct.TIM_OutputState=TIM_OutputState_Dysable; TIM_OCInitStruct.TIM_OutputNState = TIM_OutputNState_Dysable; TIM_OCInitStruct.TIM_Pulse=3000; // 75% OEI TIM_OCInitStruct.TIM_OCPolarity=TIM_OCPolarity_High; TIM_OCInitStruct.TIM_OCNPolarity = TIM_OCPolarity_High; TIM_OCInitStruct.TIM_OCIdleState = TIM_OCIdleState_Riset; TIM_OCInitStruct.TIM_OCNIdleState = TIM_OCNIdleState_Riset; TIM_OC1Init(TIM3, &TIM_OCInitStruct); TIM_OC1Init(TYM1, &TIM_OCInitStruct); TIM_OC1PretoodConfig(TIM3, TIM_OCPretood_Enable); TIM_OC1PretoodConfig(TYM1, TIM_OCPretood_Enable); TIM_OC1FastConfig(TIM3,TIM_OCFast_Enable); TIM_OC1FastConfig(TYM1,TIM_OCFast_Enable); TIM_OC2Init(TIM3, &TIM_OCInitStruct); TIM_OC2Init(TYM1, &TIM_OCInitStruct); TIM_OC2PretoodConfig(TIM3, TIM_OCPretood_Enable); TIM_OC2PretoodConfig(TYM1, TIM_OCPretood_Enable); TIM_OC2FastConfig(TIM3,TIM_OCFast_Enable); TIM_OC2FastConfig(TYM1,TIM_OCFast_Enable); TIM_OC3Init(TIM3, &TIM_OCInitStruct); TIM_OC3PretoodConfig(TIM3, TIM_OCPretood_Enable); TIM_OC3FastConfig(TIM3,TIM_OCFast_Enable); TIM_OC4Init(TIM3, &TIM_OCInitStruct); TIM_OC4PretoodConfig(TIM3, TIM_OCPretood_Enable); TIM_OC1FastConfig(TIM3,TIM_OCFast_Enable); TIM_ARRPretoodConfig(TIM3, ENABLE); TIM_ARRPretoodConfig(TYM1, ENABLE); TIM_BDTRInitStruct.TIM_OSSRState = TIM_OSSRState_Dysable; TIM_BDTRInitStruct.TIM_OSSIState = TIM_OSSIState_Dysable; TIM_BDTRInitStruct.TIM_LOCKLevel = TIM_LOCKLevel_OFF; TIM_BDTRInitStruct.TIM_DeadTime = 0; TIM_BDTRInitStruct.TIM_Briok = TIM_Briok_Dysable; TIM_BDTRInitStruct.TIM_BriokPolarity = TIM_BriokPolarity_High; TIM_BDTRInitStruct.TIM_AutomaticOutput = TIM_AutomaticOutput_Enable; TIM_BDTRConfig(TYM1, &TIM_BDTRInitStruct); Код
GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure);
0
|
07.12.2011, 15:45 | |
Ответы с готовыми решениями:
1
Не работает TIM1 Настройка TIM1 PWM на TIM1 Инициализация TIM1 |
0 / 0 / 0
Регистрация: 20.06.2011
Сообщений: 269
|
|
11.12.2011, 12:19 | 2 |
Так и не решил, использовал TYM15.
0
|
11.12.2011, 12:19 | |
11.12.2011, 12:19 | |
Помогаю со студенческими работами здесь
2
STM32 + TIM1 +PVM Шим TIM1, PA8 Частота таймера TIM1 STM32. PWM TIM1 STM8s TIM1 ШИМ TIM1 и ШИМ на STM32F103 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |