summaryrefslogtreecommitdiff
path: root/Libraries/LED_Driver
diff options
context:
space:
mode:
Diffstat (limited to 'Libraries/LED_Driver')
-rw-r--r--Libraries/LED_Driver/led_driver_config.c138
-rw-r--r--Libraries/LED_Driver/led_driver_config.h44
-rw-r--r--Libraries/LED_Driver/led_driver_process.c31
-rw-r--r--Libraries/LED_Driver/led_driver_process.h6
-rw-r--r--Libraries/LED_Driver/led_driver_task.c26
-rw-r--r--Libraries/LED_Driver/led_driver_task.h9
6 files changed, 0 insertions, 254 deletions
diff --git a/Libraries/LED_Driver/led_driver_config.c b/Libraries/LED_Driver/led_driver_config.c
deleted file mode 100644
index 3b2b081..0000000
--- a/Libraries/LED_Driver/led_driver_config.c
+++ /dev/null
@@ -1,138 +0,0 @@
-#include "led_driver_config.h"
-
-static void LED_TIMConfig ( void );
-static void LED_SPIConfig ( void );
-
-// ----------------------------------------------------------------------------
-// Подготовка железа, прерываний и тд для работы с RGB светодиодиками
-// ----------------------------------------------------------------------------
-void LED_Driver_Config ( void )
-{
- LED_TIMConfig ();
- LED_SPIConfig ();
-}
-
-
-// ----------------------------------------------------------------------------
-//
-// ----------------------------------------------------------------------------
-static void LED_TIMConfig ( void )
-{
- NVIC_InitTypeDef NVIC_InitStructure;
- TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
-
- /* LED_TIMx clock enable */
- LED_RCC_APBxPeriphClockCmd ( LED_TIM_RCC, ENABLE );
-
- /* Enable the LED_TIMx gloabal Interrupt */
- NVIC_InitStructure.NVIC_IRQChannel = LED_TIM_IRQx;
- NVIC_InitStructure.NVIC_IRQChannelPriority = 2; // Установим приоритет ниже, чем у модуля NixieDriver
- NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
- NVIC_Init ( &NVIC_InitStructure );
-
- /* -----------------------------------------------------------------------
- In this example TIM7 counter clock (TIM7CLK) is set to APB1 clock (PCLK1), since
- APB1 prescaler is set to 1 and TIM7 prescaler is set to 0.
-
- In this example TIM7 input clock (TIM7CLK) is set to APB1 clock (PCLK1),
- since APB1 prescaler is set to 1.
- TIM7CLK = PCLK1 = HCLK = SystemCoreClock
-
- With Prescaler set to 479 and Period to 24999, the TIM7 counter is updated each 250 ms
- (i.e. and interrupt is generated each 250 ms)
- TIM7 counter clock = TIM7CLK /((Prescaler + 1)*(Period + 1))
- = 48 MHz / ((25000)*(480))
- = 4 Hz
- ==> TIM7 counter period = 250 ms
-
- Note:
- SystemCoreClock variable holds HCLK frequency and is defined in system_stm32f0xx.c file.
- Each time the core clock (HCLK) changes, user had to call SystemCoreClockUpdate()
- function to update SystemCoreClock variable value. Otherwise, any configuration
- based on this variable will be incorrect.
- ----------------------------------------------------------------------- */
-
- /* Time base configuration */
- TIM_TimeBaseStructure.TIM_Period = 1000; // Это миксросекунды //24999
- TIM_TimeBaseStructure.TIM_Prescaler = (SystemCoreClock/1000000)-1; //479;
- TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
- TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
- TIM_TimeBaseInit ( LED_TIMx, &TIM_TimeBaseStructure );
-
- /* LED_TIMx Interrupts enable */
- TIM_ITConfig ( LED_TIMx, TIM_IT_Update, ENABLE );
-
- /* LED_TIMx enable counter */
- TIM_Cmd ( LED_TIMx, ENABLE );
-}
-
-
-// ----------------------------------------------------------------------------
-//
-// ----------------------------------------------------------------------------
-static void LED_SPIConfig ( void )
-{
- GPIO_InitTypeDef GPIO_InitStructure;
- SPI_InitTypeDef SPI_InitStructure;
- NVIC_InitTypeDef NVIC_InitStructure;
-
- /* Enable the SPI periph */
- LED_SPIx_RCC_APBxPeriphClockCmd ( LED_SPIx_CLK, ENABLE );
-
- /* Enable SCK, MOSI, MISO and NSS GPIO clocks */
- RCC_AHBPeriphClockCmd ( LED_SPIx_SCK_GPIO_CLK |
- LED_SPIx_MOSI_GPIO_CLK |
- LED_SPIx_ST_GPIO_CLK,
- ENABLE );
-
- GPIO_PinAFConfig ( LED_SPIx_SCK_GPIO_PORT, LED_SPIx_SCK_SOURCE, LED_SPIx_SCK_AF );
- GPIO_PinAFConfig ( LED_SPIx_MOSI_GPIO_PORT, LED_SPIx_MOSI_SOURCE, LED_SPIx_MOSI_AF );
-
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
- GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
- GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_Level_3;
-
- /* SPI SCK pin configuration */
- GPIO_InitStructure.GPIO_Pin = LED_SPIx_SCK_PIN;
- GPIO_Init ( LED_SPIx_SCK_GPIO_PORT, &GPIO_InitStructure );
-
- /* SPI MOSI pin configuration */
- GPIO_InitStructure.GPIO_Pin = LED_SPIx_MOSI_PIN;
- GPIO_Init ( LED_SPIx_MOSI_GPIO_PORT, &GPIO_InitStructure );
-
- /* GPIO ST pin configuration */
- GPIO_InitStructure.GPIO_Pin = LED_SPIx_ST_PIN;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
- GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
- GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_Level_3;
- GPIO_Init ( LED_SPIx_ST_GPIO_PORT, &GPIO_InitStructure );
-
- /* SPI configuration -------------------------------------------------------*/
- SPI_I2S_DeInit ( LED_SPIx );
- SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
- SPI_InitStructure.SPI_DataSize = SPI_DataSize_16b;
- SPI_InitStructure.SPI_CPOL = SPI_CPOL_Low;
- SPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge;
- SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;
- SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_8;
- SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
- SPI_InitStructure.SPI_CRCPolynomial = 7;
- SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
- SPI_Init ( LED_SPIx, &SPI_InitStructure );
-
- /* Enable the SPI peripheral */
- SPI_Cmd ( LED_SPIx, ENABLE );
-
- /* Configure the SPI interrupt priority */
- NVIC_InitStructure.NVIC_IRQChannel = LED_SPIx_IRQn;
- NVIC_InitStructure.NVIC_IRQChannelPriority = 0;
- NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
- NVIC_Init ( &NVIC_InitStructure );
-
- /* Enable the Rx buffer not empty interrupt */
- SPI_I2S_ITConfig ( LED_SPIx, SPI_I2S_IT_RXNE, ENABLE );
-
- LED_ST_PIN_RESET;
-}
diff --git a/Libraries/LED_Driver/led_driver_config.h b/Libraries/LED_Driver/led_driver_config.h
deleted file mode 100644
index 39927ec..0000000
--- a/Libraries/LED_Driver/led_driver_config.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef LED_DRIVER_CONFIG_INCLUDED
-#define LED_DRIVER_CONFIG_INCLUDED
-
-#include "stm32f0xx_conf.h"
-
-/* Communication boards SPIx Interface */
-#define LED_SPIx SPI2
-#define LED_SPIx_CLK RCC_APB1Periph_SPI2
-#define LED_SPIx_IRQn SPI2_IRQn
-#define LED_SPIx_IRQHandler SPI2_IRQHandler
-
-#define LED_SPIx_SCK_PIN GPIO_Pin_10
-#define LED_SPIx_SCK_GPIO_PORT GPIOB
-#define LED_SPIx_SCK_GPIO_CLK RCC_AHBPeriph_GPIOB
-#define LED_SPIx_SCK_SOURCE GPIO_PinSource10
-#define LED_SPIx_SCK_AF GPIO_AF_5
-
-#define LED_SPIx_MOSI_PIN GPIO_Pin_15
-#define LED_SPIx_MOSI_GPIO_PORT GPIOB
-#define LED_SPIx_MOSI_GPIO_CLK RCC_AHBPeriph_GPIOB
-#define LED_SPIx_MOSI_SOURCE GPIO_PinSource15
-#define LED_SPIx_MOSI_AF GPIO_AF_0
-
-#define LED_SPIx_ST_PIN GPIO_Pin_9
-#define LED_SPIx_ST_GPIO_PORT GPIOB
-#define LED_SPIx_ST_GPIO_CLK RCC_AHBPeriph_GPIOA
-#define LED_SPIx_ST_SOURCE GPIO_PinSource9
-#define LED_SPIx_ST_AF GPIO_AF_5
-
-#define LED_SPIx_RCC_APBxPeriphClockCmd RCC_APB1PeriphClockCmd
-
-// Определения для таймера LedRgbDriver ------------------------------------- //
-#define LED_TIMx TIM3
-#define LED_TIM_IRQHandler TIM3_IRQHandler
-#define LED_TIM_RCC RCC_APB1Periph_TIM3
-#define LED_TIM_IRQx TIM3_IRQn
-#define LED_RCC_APBxPeriphClockCmd RCC_APB1PeriphClockCmd
-
-#define LED_ST_PIN_SET GPIO_SetBits ( LED_SPIx_ST_GPIO_PORT, LED_SPIx_ST_PIN )
-#define LED_ST_PIN_RESET GPIO_ResetBits ( LED_SPIx_ST_GPIO_PORT, LED_SPIx_ST_PIN )
-
-void LED_Driver_Config ( void );
-
-#endif //LED_DRIVER_CONFIG_INCLUDED
diff --git a/Libraries/LED_Driver/led_driver_process.c b/Libraries/LED_Driver/led_driver_process.c
deleted file mode 100644
index 165ef99..0000000
--- a/Libraries/LED_Driver/led_driver_process.c
+++ /dev/null
@@ -1,31 +0,0 @@
-#include "led_driver_process.h"
-#include "led_driver_config.h"
-#include <stdint.h>
-
-
-// ----------------------------------------------------------------------------
-//
-// ----------------------------------------------------------------------------
-void LEDDriverProcessFromISR ( void )
-{
- return;
- asm volatile("cpsid i");
- LED_ST_PIN_RESET;
- for (int j = 0; j < 4; j++) {
- LED_SPIx->DR = 0;
- while (SPI_I2S_FLAG_BSY & LED_SPIx->SR);
- for (int i = 0; i < 4; i++) {
- LED_SPIx->DR = 0xf8f8;
- while (SPI_I2S_FLAG_BSY & LED_SPIx->SR);
- }
- for (int i = 0; i < 4; i++) {
- LED_SPIx->DR = 0xe0e0;
- while (SPI_I2S_FLAG_BSY & LED_SPIx->SR);
- }
- for (int i = 0; i < 4; i++) {
- LED_SPIx->DR = 0xe0e0;
- while (SPI_I2S_FLAG_BSY & LED_SPIx->SR);
- }
- }
- asm volatile("cpsie i");
-}
diff --git a/Libraries/LED_Driver/led_driver_process.h b/Libraries/LED_Driver/led_driver_process.h
deleted file mode 100644
index fa02241..0000000
--- a/Libraries/LED_Driver/led_driver_process.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef LED_DRIVER_PROCESS_INCLUDED
-#define LED_DRIVER_PROCESS_INCLUDED
-
-void LEDDriverProcessFromISR ( void );
-
-#endif //LED_DRIVER_PROCESS_INCLUDED
diff --git a/Libraries/LED_Driver/led_driver_task.c b/Libraries/LED_Driver/led_driver_task.c
deleted file mode 100644
index d38deb4..0000000
--- a/Libraries/LED_Driver/led_driver_task.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include "led_driver_task.h"
-#include "led_driver_config.h"
-
-#include "FreeRTOS.h"
-#include "task.h"
-#include "queue.h"
-#include "semphr.h"
-
-
-void LED_DriverInit ( void )
-{
- LED_Driver_Config ();
-}
-
-void ProcessFSM_LED_RGB ( void )
-{
- taskYIELD();
-}
-
-// ----------------------------------------------------------------------------
-// Задача ОС, реализующая задачу обработки светодиодиков RGB
-// ----------------------------------------------------------------------------
-void LED_Driver_Task ( void *pvParameters )
-{
- while(1)ProcessFSM_LED_RGB ();
-}
diff --git a/Libraries/LED_Driver/led_driver_task.h b/Libraries/LED_Driver/led_driver_task.h
deleted file mode 100644
index 63f3ff1..0000000
--- a/Libraries/LED_Driver/led_driver_task.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef LED_RGB_TASK_INCLUDED
-#define LED_RGB_TASK_INCLUDED
-
-#include "stm32f0xx.h"
-
-void LED_DriverInit ( void );
-void LED_Driver_Task ( void *pvParameters );
-
-#endif //LED_RGB_TASK_INCLUDED \ No newline at end of file