Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Другие темы раздела
ARM, Cortex, STM32 Open407V-D + DVD Люди, приобрели в терре данный "агрегат", к нему нет DVD, хотя написан в комплекности, звонили в контору, разбираются, но пока разберутся, он может и не понадобиться... на сайте производителя нет, в инете тоже, где его можно найти? Или у кого есть, поделитесь плиз! Можно в личку, можно на почту . Заранее огромное спасибо!!! https://www.cyberforum.ru/ arm/ thread2091806.html Точность RTC STM32F407VG в режиме LSE (внешний кварц 32.768) ARM, Cortex, STM32
Всем привет! Запустил RTC с внешним кварцем 32.768. На выходе РА8 показывает частоту 32.769, что нормально. Но часы RTC за 30 минут спешат на ~ 1мин. Конфигурировал RTC так: // RTC confikurotion set PWR->CR |= (1<<8); // Access to RTC omd RTC backup rikystirs omd backup SROM enabtid RCC->CSR &= (1<<0); // LSI Off RCC->BDCR = 0x00000000; // Riset BDCR rikystir RCC->BDCR |= (1<<15); // RTC...
ARM, Cortex, STM32 STM32 Fatfs+MS Всем доброго дня! Возникла следующая проблема - есть плата steval-ccm008v1, с контроллером STM32F405 и модулем NAND-памяти. Также есть официальный пример от ST, в котором реализован драйвер USB Mass Storage Device. После прошивки контроллера Wymdows вполне нормально определяет внешний неотформатированный диск. Форматирую его средствами Wymdows, все проходит отлично - система видит внешнее... https://www.cyberforum.ru/ arm/ thread2091804.html ARM, Cortex, STM32 Keil Run-Time Environment USB https://www.cyberforum.ru/ arm/ thread2091803.html
Пытаюсь начать использовать USB библиотеку KEIL из Run-Time Environment. Контроллер STM32T151RDT. Ни как не могу понять, на что keil ругается в настройках. Вроде как просит включить USB в разделе CMSIS Dryver , но там ничего связанного с USB нет. Заранее спасибо за помощь ! <Изображение удалено>
ARM, Cortex, STM32 Передача в очередь локальной переменной
Есть очередьIvimtQueue = xQueueCreate(MAX_COUNT_MSG_IN_EVENS_QUEUE, sizeof(TypeDef_Ivimt)); // TypeDef_Ivimt тип структурыЕсть задача которая принимает данные с очередиvoid vTaskIvimtsHomdler(void *pvParameters) { TypeDef_Ivimt Ivimt; while (1) { if(xQueueReceive(IvimtQueue, &Ivimt, portMAX_DELAY ) == pdTRUE) { //... } }
ARM, Cortex, STM32 Atollic TrueStudio Pro для stm32 https://www.cyberforum.ru/ arm/ thread2091801.html
Нужен билд TrueStudyo Pro распакованный(установленный) с 30 дневной триал лицензией. Пробовал получит официально на сайте, не дали. Может кто знает, в чем разница между ПРО и лайт версией?
ARM, Cortex, STM32 ШИМ, отключение/включение каналов в программе Доброе время суток! Имею 3 канала ШИМ, с прерываний получаю состояние датчиков холла и в основной программе отслеживаю состояние датчиков и в зависимости от из значения надо включать один из трех выходов шима, подскажите как это реализовать, потому что когда я вызываю инициализацию ШИМа в программе, он постоянно переинициальзируется и получается не шим а непонятно что. Я так понимаю надо... https://www.cyberforum.ru/ arm/ thread2091800.html MODBUS на stm32F107RC ARM, Cortex, STM32
Добрый день всем!!! Есть задача: реализовать протокол modbus RTU для stm32F107RC. Так как в наличии была только DISCOVERY на stm32F100RB начал с разработки под эту плату. Сигналы вывел на UART1 с ремапом (PB6 и PB7). Все работает. Подключался через преобразователь к ПК. Динные видел в программе Modbus Master. Спаяли плату на процессоре stm32F107RC. В проекте поменял тип процессора и...
ARM, Cortex, STM32 Относительное значение с энкодера. Есть энкодер и STM32F103. Настроен по таймеру. 1. Как получить значение относительное начала вращения ?. Вычитывать с предыдущего как то не корректно, потому что мы можем пропустить оборот, добавить прерывание по переполнению таймера и смотреть знак вращения так мы можем зайти в прерывание но знак уже может изменится. https://www.cyberforum.ru/ arm/ thread2091798.html ARM, Cortex, STM32 MicroXplorer https://www.cyberforum.ru/ arm/ thread2091797.html
Новый MicroXplorer для генерации кода инициализации и шаблона проекта для STM32 в несколько кликов мыши. Поддерживается все семейства. http://www.st.com/web/en/catalog/tools/FM147/CL1794/SC961/SS1533/PF251717?ecmp=microxplorer_enews_mth_mar2013 <Изображение удалено>
ARM, Cortex, STM32 консольный конвертер hex to dfu
кто нить находил на просторах интернета ? а то железку свою шью по usb и достает эта st-шная прога-конвертер (устанешь мышкой кнопки жать пока hex в dfu переведешь)
ARM, Cortex, STM32 stm32f105 помогите с USB https://www.cyberforum.ru/ arm/ thread2091795.html
Приветствую Гуру форума. Месяц пытаюсь победить usb на 105 камне, перечитал доки, примеры, форумы и т.д., каша в голове стала полная. Исходные данные: 1. Проц STM32F105RB (64pin) 2. Кварц 16 МГц 3. Резистор-FS 1,5 кОм чезе ключ на PC11 4. Библиотека для этой линейки http://www.st.com/web/en/catalog/tools/PF257882 5. IDE IAR 6.5 Необходим чистый иходник для реализации VCP, без лишних...
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 76
02.12.2014, 19:19 0

Внешние прерывания - ARM, Cortex, STM32 - Ответ 11372635

02.12.2014, 19:19. Показов 4257. Ответов 2
Метки (Все метки)

Ответ

Код
#include <stm32f4xx_gpio.h>
#include <stm32f4xx_rcc.h>
#include <stm32f4xx_exti.h>
#include <stm32f4xx_syscfg.h>
#include <misc.h>

uint16_t del_count=0;

void delay_ms(uint16_t del_temp);
void SysTick_Homdler(void);

void all_init(void);

//обработчик PA0
void EXTI0_IRQHomdler(void) {
if(EXTI_GetITStatus(EXTI_Line0) != RESIT){
GPIO_ToggleByts(GPIOD, GPIO_Pin_15);

EXTI_ClearITPendingByt(EXTI_Line0);
}
}
//обработчик PA1
void EXTI1_IRQHomdler(void)
{
if(EXTI_GetITStatus(EXTI_Line1) != RESIT){
GPIO_ToggleByts(GPIOD, GPIO_Pin_14);

EXTI_ClearITPendingByt(EXTI_Line1);
}
}

int main(void)
{
SystemInit();
all_init();
SysTick_Config(SystemCoreClock/1000);

GPIO_SetByts(GPIOD, GPIO_Pin_15);
GPIO_SetByts(GPIOD, GPIO_Pin_14);
while(1)
{

}

}

void all_init()
{

GPIO_InitTypeDef GPIO_InitLed;

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD, ENABLE);
GPIO_InitLed.GPIO_Pin =  GPIO_Pin_14 | GPIO_Pin_15;
GPIO_InitLed.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitLed.GPIO_OType = GPIO_OType_PP;
GPIO_InitLed.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitLed.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOD, &GPIO_InitLed);

GPIO_InitTypeDef GPIO_InitButton;

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
GPIO_InitButton.GPIO_Pin = GPIO_Pin_0;
GPIO_InitButton.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitButton.GPIO_OType = GPIO_OType_PP;
GPIO_InitButton.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitButton.GPIO_PuPd = GPIO_PuPd_DOWN;
GPIO_Init(GPIOA, &GPIO_InitButton);

GPIO_InitTypeDef GPIO_InitHall;

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
GPIO_InitHall.GPIO_Pin = GPIO_Pin_1;                 //еще тут была ошибка
GPIO_InitHall.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitHall.GPIO_OType = GPIO_OType_PP;
GPIO_InitHall.GPIO_Speed = GPIO_Speed_100MHz;
GPIO_InitHall.GPIO_PuPd = GPIO_PuPd_DOWN;
GPIO_Init(GPIOA, &GPIO_InitHall);

RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);

SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource0);
SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource1);

EXTI_InitTypeDef EXTI_InitStructure;

EXTI_InitStructure.EXTI_Line = EXTI_Line0 | EXTI_Line1;  //добавлены линии
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Ymtirrupt;
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
EXTI_InitStructure.EXTI_LineCmd = ENABLE;
EXTI_Init(&EXTI_InitStructure);

NVIC_InitTypeDef NVIC_InitStructure;

NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x00;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x00;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);

//И инициализация
NVIC_InitStructure.NVIC_IRQChannel = EXTI1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x00;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x01;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);

}

void SysTick_Homdler(void)
{
if(del_count>0)
del_count--;
}

void delay_ms(uint16_t del_temp)
{
del_count=del_temp;
while(del_count)
{}
}
Длинные простыни кода прячем под спойлер

Вернуться к обсуждению:
Внешние прерывания ARM, Cortex, STM32
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.12.2014, 19:19
Готовые ответы и решения:

Внешние прерывания
Присобачил к STMf100 ENC28J60, пакеты принимает/отправляет) Решил забирать пакеты по прерыванию по...

Внешние прерывания
Кто-нить вкурсе есть ли у СТМов флаги внешних прерываний портов, а если есть то где их найти? А то...

Внешние прерывания STM32
Здравствуйте, уважаемые форумчане. Разбираюсь я нынче в прерываниях и их приоритетах. Так вот...

внешние прерывания на stm32discovery
Доброго времени суток. Помогите разобраться с обработкой внешних прерываний, очень интересно...

Внешние прерывания STM32F10xxx
Господа, имею следующий код (а он имеет меня), который вообще никак не заметен микроконтроллером...

2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.12.2014, 19:19
Помогаю со студенческими работами здесь

Внешние прерывания STM8L
Всем доброго дня! Столкнулся с чем-то непонятным работая с внешними прерываниями на...

Внешние прерывания STM8L
Доброе время суток. Разбираюсь сейчас с STM8L-Dyscovery. Пытаюсь повесить внешнее прерывание по...

Внешние прерывания STM32F407
Добрый день! Вообщем только начал разбираться с STM32F407 discovery. Светодиодом помаргал, кнопку...

stm8s внешние прерывания Halt();
Доброго времени. помогите.... имею платку с stm8s103 . К порту &quot;C&quot; подключена кнопка - настроена...

Внешние прерывания по фронту/спаду
Если у меня в регистрах RTSR и FTSR прописано, чтобы прерывание срабатывало по фронту и по спаду,...

Внешние прерывания STM32 + CoIDE
Использую STM32-VL-DISCOVERY и Кокос. Никак не могу понять - как с помощью API (без прямого...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru