Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Другие темы раздела
ARM, Cortex, STM32 микроконтроллер STM32 + RAM(no name) http://www.cyberforum.ru/arm/thread1822578.html
Привет. У себя в "мусоре" нашел несколько плат с чипамя похожими на оперативку, хочу знать какие из них можно подключить к STM32, и как. ДШ не на один чип не нашел. Чипы на старой видюхе (nvidia...
ARM, Cortex, STM32 микроконтроллер Файловая система Смарт карты, как создать? Есть на форуме кто то кто создавал файловую систему на "пустой" карте? В какой момент она создается и какой функциональностью должна обладать ОС в этот момент? Есть ли пример программной реализации... http://www.cyberforum.ru/arm/thread1819703.html
ARM, Cortex, STM32 микроконтроллер Литературы для 1986Е93У
На 3 курсе стали изучать программирования МК, и обучаемся мы на (МК фирмы Миландр 1986Е93У с ядром ARM Cortex-M3). Скажите название книги или книг, по которой можно хоть что то понять с...
STM32F7-SOM ARM, Cortex, STM32 микроконтроллер
Требуется сделать конфигурационный файл с FreeRTOS для платы STM32F7-SOM производителя EMCraft на базе контроллера ST Micro серии F7 (Cortex-M7) в программе STM32CubeMX. Затем надо разработать...
ARM, Cortex, STM32 микроконтроллер LPC214X. Нужно добавить комментарии к коду на Си и АСМ (задание 2) http://www.cyberforum.ru/arm/thread1816428.html
Закомментируйте пожалуйста эту программу, а то в книги нету толкового объяснения #include <stdio.h> #include <string.h> #include <LPC214X.H> extern "C" void init_serial(void); __asm void...
ARM, Cortex, STM32 микроконтроллер System Workbench for STM32 + Кубик. Отзывы, нюансы, обучение Доброго времени суток. Решил я изучить еще один инструмент, под названием "System Workbench for STM32", до сегодняшнего дня сидел на IAR, резких движений делать не хочу, ибо на работе и так первый... подробнее
now100
1 / 1 / 0
Регистрация: 12.10.2016
Сообщений: 24
13.10.2016, 16:53  [ТС] 0

STMF103C8T6 и HC-SR04. Вывод данных. Нужен код

13.10.2016, 16:53. Просмотров 1620. Ответов 10
Метки (Все метки)

Ответ

Изучаю работу с таймерами.
Объясните плиз, за счет чего вызывается функция TIM4_IRQHandler в которой происходит вкл-выкл светодиода ?

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#include "stm32f10x.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"
#include "stm32f10x_tim.h"
#include "misc.h"
 
void SetSysClockToHSE(void)
{
    ErrorStatus HSEStartUpStatus;
    /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------------------------*/
    /* RCC system reset(for debug purpose) */
    RCC_DeInit();
 
    /* Enable HSE */
    RCC_HSEConfig( RCC_HSE_ON);
 
    /* Wait till HSE is ready */
    HSEStartUpStatus = RCC_WaitForHSEStartUp();
 
    if (HSEStartUpStatus == SUCCESS)
    {
        /* HCLK = SYSCLK */
        RCC_HCLKConfig( RCC_SYSCLK_Div1);
 
        /* PCLK2 = HCLK */
        RCC_PCLK2Config( RCC_HCLK_Div1);
 
        /* PCLK1 = HCLK */
        RCC_PCLK1Config(RCC_HCLK_Div1);
 
        /* Select HSE as system clock source */
        RCC_SYSCLKConfig( RCC_SYSCLKSource_HSE);
 
        /* Wait till PLL is used as system clock source */
        while (RCC_GetSYSCLKSource() != 0x04)
        {
        }
    }
    else
    { /* If HSE fails to start-up, the application will have wrong clock configuration.
     User can add here some code to deal with this error */
 
        /* Go to infinite loop */
        while (1)
        {
        }
    }
}
 
void TIM4_IRQHandler(void)
{
        if (TIM_GetITStatus(TIM4, TIM_IT_Update) != RESET)
        {
            // Обязательно сбрасываем флаг. Если этого не сделать, после обработки прерывания снова попадем сюда
            TIM_ClearITPendingBit(TIM4, TIM_IT_Update);
            GPIOC->ODR ^= GPIO_Pin_13;
        }
}
 
int main(void)
{
    SetSysClockToHSE();
 
    /* Initialize LED which connected to PC13 */
    GPIO_InitTypeDef  GPIO_InitStructure;
    // Enable PORTC Clock
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
    /* Configure the GPIO_LED pin */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOC, &GPIO_InitStructure);
 
    GPIO_ResetBits(GPIOC, GPIO_Pin_13); // Set C13 to Low level ("0")
 
    // TIMER4
    TIM_TimeBaseInitTypeDef TIMER_InitStructure;
    NVIC_InitTypeDef NVIC_InitStructure;
 
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE); // Вмикаємо тактування таймера TIM4
 
    TIM_TimeBaseStructInit(&TIMER_InitStructure);
    TIMER_InitStructure.TIM_CounterMode = TIM_CounterMode_Up; // Режим счета
    TIMER_InitStructure.TIM_Prescaler = 8000; // Делитель частоты для таймера
    // Нужно еще учесть как настроены делители RCC_HCLKConfig( RCC_SYSCLK_Div1); RCC_PCLK1Config(RCC_HCLK_Div1);
    // В нашем случае оба  = RCC_SYSCLK_Div1, т.е. до делителя таймера доходит частота внешнего кварца (8МГц)
    TIMER_InitStructure.TIM_Period = 500; // Период, через который выполняется прерывание по переполнению  // F=8000000/8000/500 = 2 рази/сек.
    TIM_TimeBaseInit(TIM4, &TIMER_InitStructure);
    TIM_ITConfig(TIM4, TIM_IT_Update, ENABLE); // Включаем прерывание по переполнению таймера
    TIM_Cmd(TIM4, ENABLE);// Включаемо таймер
 
    /* NVIC Configuration */
    /* Enable the TIM4_IRQn Interrupt */
    NVIC_InitStructure.NVIC_IRQChannel = TIM4_IRQn;
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);
 
    while(1)
    {
        
    }
}


Вернуться к обсуждению:
STMF103C8T6 и HC-SR04. Вывод данных. Нужен код
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2016, 16:53
Готовые ответы и решения:

HC-SR04 ультра звуковой датчик .вывод показаний с задержкой
Купил ультра звуковой датчик по эксперементировать с ним,подключил дисплей на дисплей выводятся...

ЕСТЬ КОД НУЖЕН ВВОД И ВЫВОД В ФАЙЛ СДЕЛАТЬ
заполнить массив змейкой начиная с 1 элемента пример 1 2 3 4 8 7 6 5 9 10 11 12...

Нужен код обновления данных
При нажатии на кнопку нужно изменить данные у выбранной записи в поле БД SQL. Код нужно написать в...

Нужен программный код.«Обработка строковых данных».
Дан текст из цифр и строчных латинских букв, за которым следует точка. Определите, каких букв —...

Мой код импорта данных в БД. Нужен совет
Всем привет. Скидываю код. Здесь идет загрузка файла на сервер, а затем импорт данных из него и...

10
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru