Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

Изучаем STM32 Cortex M3

Непрочитано 11.10.2015, 14:43  
zöner
Гражданин KAZUS.RUN
 
Регистрация: 16.02.2012
Сообщений: 440
Сказал спасибо: 89
Сказали Спасибо 735 раз(а) в 149 сообщении(ях)
zöner на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

как программно сбросить прескалеры таймера?
Реклама:
zöner вне форума  
Непрочитано 11.10.2015, 15:53  
niXto
Почётный гражданин KAZUS.RUN
 
Аватар для niXto
 
Регистрация: 13.10.2007
Адрес: Беларусь
Сообщений: 8,026
Сказал спасибо: 60
Сказали Спасибо 3,941 раз(а) в 2,302 сообщении(ях)
niXto на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Битами типа APBRST
niXto вне форума  
Непрочитано 11.10.2015, 16:10  
zöner
Гражданин KAZUS.RUN
 
Регистрация: 16.02.2012
Сообщений: 440
Сказал спасибо: 89
Сказали Спасибо 735 раз(а) в 149 сообщении(ях)
zöner на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

судя по этому достаточно сгенерировать Update event ?
zöner вне форума  
Непрочитано 16.11.2015, 13:02  
eddy
Почётный гражданин KAZUS.RUN
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Что-то нет прикрепленной темы по M4, поэтому здесь вопрос задам: какова наибольшая достижимая скорость на USB STM32F407? Потянет ли 24Мбит/с (для стерео-DXD)? Думаю вот, сделать преобразователь сигналов для ЦАПа на нем или же выбрать какой-нибудь другой микроконтроллер (желательно STM32)?
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!
eddy вне форума  
Непрочитано 22.11.2015, 17:28  
IOPA4
Почётный гражданин KAZUS.RUN
 
Аватар для IOPA4
 
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,290
Сказал спасибо: 452
Сказали Спасибо 501 раз(а) в 267 сообщении(ях)
IOPA4 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

При помощи утилиты STM32CubeMX шаблон проекта создается в три клика, ну почти. Испытал на себе.
1. Запускаем STM32CubeMX
2. Новый проект (New Project)
3. Выбираем контроллер (у меня STM32F103RB демоплата MINI-STM32 V.3)
4. Выбираю АЦП1, IN8 (PB0)
5. Добавляем RCC
6. Выбираем USB-DeviceFS и на верху, в выпадающем списке VirtualCOM CDC
7. Настраиваем тактирование портов.
8. Нажимаем кнопку создать проект, я выбираю Keil
9. Компилируем и подключаем к ПК, появляется VirtualComPort, ставим драйверы.
10. Остальное дописываем по своему вкусу.
Миниатюры:
Нажмите на изображение для увеличения
Название: STM32_ADC.png
Просмотров: 62
Размер:	3.4 Кб
ID:	85087  
Вложения:
Тип файла: rar STM32F103RB_USB_VC_HAL.rar (3.47 Мб, 64 просмотров)
IOPA4 вне форума  
Непрочитано 22.11.2015, 21:55  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

IOPA4, радость быстро закончится, когда надо будет выйти за пределы вольтметра.
Easyrider83 вне форума  
Непрочитано 22.11.2015, 23:40  
IOPA4
Почётный гражданин KAZUS.RUN
 
Аватар для IOPA4
 
Регистрация: 07.05.2008
Адрес: Мурманск
Сообщений: 1,290
Сказал спасибо: 452
Сказали Спасибо 501 раз(а) в 267 сообщении(ях)
IOPA4 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Easyrider83, for example. Сильно не радуюсь, все упирается пока в ПП, остальное только во время. Пробовал пяток LCD, I2C, DMA.
IOPA4 вне форума  
Непрочитано 12.12.2015, 14:54  
serb-radio
Гражданин KAZUS.RUN
 
Регистрация: 01.01.2007
Адрес: Таганрог
Сообщений: 571
Сказал спасибо: 26
Сказали Спасибо 213 раз(а) в 91 сообщении(ях)
serb-radio на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Добрый день! Вопрос такой: у меня есть старый рабочий проект под STM32F103C8, хочу добавить новые функции к нему используя STM32Cube и библиотеку HAL, как я слышал, HAL несовместима с StdPeriph, т.е. мне придется весь код оптимизировать под HAL?
__________________
То, что нас не убивает - делает нас сильнее
serb-radio вне форума  
Непрочитано 12.01.2016, 17:04  
SasaVitebsk
Гражданин KAZUS.RUN
 
Регистрация: 04.08.2006
Сообщений: 911
Сказал спасибо: 28
Сказали Спасибо 180 раз(а) в 139 сообщении(ях)
SasaVitebsk на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Да там надо будет переписать. Имена функций не совпадают, некоторые заменены макросами... CMSIS посвежее и так далее.
SasaVitebsk вне форума  
Непрочитано 22.01.2016, 01:33  
eddy
Почётный гражданин KAZUS.RUN
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Мужики! Гневно негодую и грызу себя изнутри! Весь вечер пытался завести на STM32F102 DMA для передачи данных из буфера в GPIO (через регистр ODR). Ну нифига не получается! Понятно, что это элементарно с приличной скоростью делается тупо в прерывании таймера, который все равно надо заводить для пинания DMA, но вот я уперся, и хочу таки через ПДП сделать. Может мне кто-нибудь объяснить, как регистры настроить? Я уже и с mem2mem пробовал, и без него. Вот кусок непотребного кода. Инициализация:
Код:
void dmagpio_init(){
    rcc_periph_clock_enable(RCC_TIM2);
    rcc_periph_clock_enable(RCC_DMA1);
    timer_reset(TIM2);
    timer_set_mode(TIM2, TIM_CR1_CKD_CK_INT, TIM_CR1_CMS_EDGE, TIM_CR1_DIR_UP);
    TIM2_PSC = 8;
    TIM2_ARR = 39;
    TIM2_DIER = TIM_DIER_UDE;
    dma_channel_reset(DMA1, DMA_CHANNEL2);
    DMA1_CCR2 = DMA_CCR_MEM2MEM | DMA_CCR_PL_MEDIUM | DMA_CCR_MSIZE_16BIT |
        DMA_CCR_PSIZE_16BIT | DMA_CCR_MINC | DMA_CCR_DIR | DMA_CCR_TCIE | DMA_CCR_TEIE ;
    nvic_enable_irq(NVIC_DMA1_CHANNEL2_IRQ);
    DMA1_CPAR2 = DMAGPIO_TARGADDR;
    DMA1_CMAR2 = (uint32_t) gpiobuff;
}
Запуск передачи:
Код:
void dmagpio_transfer(uint8_t *databuf, uint32_t length){
    while(DMA1_CCR2 & DMA_CCR_EN);
    transfer_complete = 0;
    DMA1_IFCR = 0xff00; // clear all flags for ch2
    DMA1_CPAR2 = DMAGPIO_TARGADDR;
    DMA1_CMAR2 = (uint32_t) gpiobuff;
    DMA1_CNDTR2 = length;
    uint32_t i;
    for(i = 0; i ‹ length; ++i) gpiobuff[i] = databuf[i];
    TIM2_CR1 |= TIM_CR1_CEN; 
    DMA1_CCR2 |= DMA_CCR_EN;
}
(копирую данные из восьмибитного буфера в 16-битный, т.к. иначе ПДП ни в какую работать не хочет).
Ну и прерывание ПДП, устанавливающее флаг готовности:
Код:
void dma1_channel2_isr(){
    if(DMA1_ISR & DMA_ISR_TCIF2){
        transfer_complete = 1;
        TIM2_CR1 &= ~TIM_CR1_CEN;
        DMA1_CCR2 &= ~DMA_CCR_EN;
        DMA1_IFCR = DMA_IFCR_CTCIF2; 
    }else if(DMA1_ISR & DMA_ISR_TEIF2){
        P("Error\n");
        DMA1_IFCR = DMA_IFCR_CTEIF2;
        TIM2_CR1 &= ~TIM_CR1_CEN;
        DMA1_CCR2 &= ~DMA_CCR_EN;
    }
}
Вот что за нафиг такой?
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!
eddy вне форума  
 
Опции темы

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

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


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.