|
STM32F103T8, Ride7, ШИМ на PB7 |
|
|
|
Aug 16 2010, 13:42
|
Частый гость
 
Группа: Свой
Сообщений: 96
Регистрация: 16-11-05
Из: г.Екатеринбург
Пользователь №: 10 930

|
Второй день маюсь. Не могу запустить ШИМ на ноге PB7. Что я делаю не так? Подскажите ,плиз!
Прикрепленные файлы
main.txt ( 1.33 килобайт )
Кол-во скачиваний: 77
|
|
|
|
|
 |
Ответов
|
Aug 17 2010, 08:03
|
Частый гость
 
Группа: Свой
Сообщений: 96
Регистрация: 16-11-05
Из: г.Екатеринбург
Пользователь №: 10 930

|
Цитата(AHTOXA @ Aug 17 2010, 13:49)  Нашёл ошибку: Код GPIOB->CRL=0x30000000;//альтерн.функция push-pull,PB7-50МГц, 0x3 - это просто output, а надо 0xB - альтернативный output. это я уже исправил. Все равно не помогает...
|
|
|
|
|
Aug 17 2010, 08:20
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(adnega @ Aug 17 2010, 13:39)  А есть ли четвертый таймер у 103T8? Вроде есть. Цитата(AndreyKeil @ Aug 17 2010, 14:03)  это я уже исправил. Все равно не помогает... В симуляторе или в реальном железе?
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
|
Aug 17 2010, 08:42
|
Частый гость
 
Группа: Свой
Сообщений: 96
Регистрация: 16-11-05
Из: г.Екатеринбург
Пользователь №: 10 930

|
Цитата(AHTOXA @ Aug 17 2010, 14:20)  Вроде есть.
В симуляторе или в реальном железе? Не работает и в симуляторе, и в железе. Таймер4 есть.
|
|
|
|
|
Aug 17 2010, 09:03
|
Частый гость
 
Группа: Свой
Сообщений: 96
Регистрация: 16-11-05
Из: г.Екатеринбург
Пользователь №: 10 930

|
Цитата(AHTOXA @ Aug 17 2010, 14:55)  Покажите полный код, что есть сейчас. Вот
Прикрепленные файлы
mn.txt ( 9.57 килобайт )
Кол-во скачиваний: 133
|
|
|
|
|
Aug 17 2010, 09:23
|
Частый гость
 
Группа: Свой
Сообщений: 96
Регистрация: 16-11-05
Из: г.Екатеринбург
Пользователь №: 10 930

|
Цитата(AHTOXA @ Aug 17 2010, 15:14)  А куда делась строка Код RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); ? ...остальные: последний файл хеадер:
|
|
|
|
|
Aug 17 2010, 10:15
|
Частый гость
 
Группа: Свой
Сообщений: 96
Регистрация: 16-11-05
Из: г.Екатеринбург
Пользователь №: 10 930

|
Цитата(AHTOXA @ Aug 17 2010, 15:50)  Да не. Где вызов этой функции? В файле "stm32f10x_rcc" Цитата(AHTOXA) И, кстати, откуда вдруг появилась строка Код AFIO->MAPR|=0x00001000;
? Вам же не нужен ремап. Вы что, методом научного тыка пытаетесь запустить PWM? ...  я уж и не знаю что делать. Подозреваю, что что-то до настроек таймера не сделал. Цитата(adnega @ Aug 17 2010, 15:52)  Попробывал код из сообщения #8. Все работает и в симуляторе (Keil) и в железе (STM32F103T8U6)! здесь не полный код. Нет настроек каких-то,которые идут до таймера.
|
|
|
|
|
Aug 17 2010, 11:30
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(AndreyKeil @ Aug 17 2010, 16:15)  В файле "stm32f10x_rcc" У-у-у, как всё запущено  В файле stm32f10x_rcc.c - не вызов, а определение этой функции. Давайте по порядку. Вот наш main(): Код void main() { // 1. Инициализируем клоки: RCC_Configuration();
// 2. Инициализируем контроллер прерываний: NVIC_Configuration();
// 3. Включаем порт B: RCC->APB2ENR |= RCC_APB2ENR_IOPBEN;
// 4. Включаем альтернативные функции: RCC->APB2ENR |= RCC_APB2ENR_AFIOEN;
// 5. Включаем таймер4: RCC->APB1ENR |= RCC_APB1ENR_TIM4EN;
// 6. Сконфигурируем ногу PB7 как альтернативный output: GPIOB->CRL=0xB0000000;
// 7. Теперь займёмся конфигурированием таймера: TIM4->CR1 = TIM_CR1_ARPE; // считаем вверх, автоперезагрузка, без делителя TIM4->CR2 = 0; // здесь ничего не нужно TIM4->ARR = 36; // период таймера TIM4->PSC = 0; // прескалер TIM4->EGR = TIM_EGR_UG; // обновим прескалер немедленно
// 8. А теперь сконфигурим 2й канал таймера: TIM4->CCER &= ~(TIM_CCER_CC2E | TIM_CCER_CC2P); // отключим вывод TIM4->CCR2 = 18; // период TIM4->CCMR1 = TIM_CCMR1_OC2M_2 | TIM_CCMR1_OC2M_1 | TIM_CCMR1_OC2PE; // PWM 1 (0x6000), предзагрузка; TIM4->CCER |= TIM_CCER_CC2E; // включаем вывод 2
// 9. И, наконец, запустим таймер: TIM4->CR1 |= TIM_CR1_CEN; } И всё!
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
Сообщений в этой теме
AndreyKeil STM32F103T8, Ride7 Aug 16 2010, 13:42 AHTOXA А включить таймер:
Код RCC->APB1ENR |= RCC_APB... Aug 16 2010, 14:34 AndreyKeil Включил теперь...
-не помогает.
RCC->APB2ENR|=... Aug 17 2010, 03:48 AHTOXA Вот мой рабочий код (таймер 2, канал 2):
Код#defin... Aug 17 2010, 04:55           adnega Цитата(AndreyKeil @ Aug 17 2010, 14:15) з... Aug 17 2010, 10:58         AHTOXA И, кстати, откуда вдруг появилась строка
Код AFIO-... Aug 17 2010, 09:54 adnega А в регистре RCC_APB2ENR бит AFIO_EN установлен? Aug 17 2010, 06:46 AndreyKeil Цитата(adnega @ Aug 17 2010, 12:46) А в р... Aug 17 2010, 06:53 adnega Код#include "stm32f10x_map.h"
#define RCC... Aug 17 2010, 07:39 adnega Попробывал код из сообщения #8. Все работает и в с... Aug 17 2010, 09:52 AndreyKeil Я понял все с таймером(ШИМом). Спасибо.
Теперь нап... Aug 17 2010, 14:49 Aleksandr Baranov А это - не то, что требуется?
Код/****************... Aug 17 2010, 20:15  Aleksandr Baranov Цитата(Aleksandr Baranov @ Aug 17 2010, 16... Aug 18 2010, 02:34 AndreyKeil Сегодня узнал интересную особенность. Я отлаживаю ... Aug 18 2010, 03:35 AndreyKeil Решил оставить в покое ШИМ и выдать простой меандр... Aug 18 2010, 07:45 AndreyKeil Нашел ошибку
У меня была строчка:
GPIOB-... Aug 18 2010, 18:15 AHTOXA Ура! Aug 19 2010, 05:04
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|