Version 1.1

This commit is contained in:
Your Name
2024-04-29 19:57:00 +03:00
parent 476cb55c91
commit 8c870810b1
7 changed files with 523 additions and 55 deletions

View File

@@ -21,7 +21,8 @@
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "DS_MAX7219.h"
#include "DS_Button.h"
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
@@ -91,62 +92,14 @@ int main(void)
MX_SPI1_Init();
/* USER CODE BEGIN 2 */
DS_MAX7219 Display;
DS_MAX7219_Init(&Display, &hspi1, CS_GPIO_Port, CS_Pin);
DS_Button ButtonUP, ButtonDown;
DS_ButtonInit(&ButtonUP, Button1_GPIO_Port, Button1_Pin);
DS_ButtonInit(&ButtonDown, Button2_GPIO_Port, Button2_Pin);
//регистр данные шеснадцатеричное представление регистра
//0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0xC
//0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 0хF
//Алгоритм
//1. вывести микросхему из режима выключения
//2. заставить выводить все 8 цифр
//3. Установить яркость на половину
//4. Во все регистры цифр записать данные. Цифры от 1 до 8
// 0x0C + 0x01
// 0x0B + 0x07
// 0x0A + 0x08
// регистры 1-8
uint16_t Data[1];
Data[0] = 0xC01;
HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_RESET);
HAL_SPI_Transmit(&hspi1, (uint8_t*)Data, 1, 100);
HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_SET);
Data[0] = 0xF00;
HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_RESET);
HAL_SPI_Transmit(&hspi1, (uint8_t*)Data, 1, 100);
HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_SET);
Data[0] = 0xB07;
HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_RESET);
HAL_SPI_Transmit(&hspi1, (uint8_t*)Data, 1, 100);
HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_SET);
Data[0] = 0xA08;
HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_RESET);
HAL_SPI_Transmit(&hspi1, (uint8_t*)Data, 1, 100);
HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_SET);
Data[0] = 0x9FF;
HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_RESET);
HAL_SPI_Transmit(&hspi1, (uint8_t*)Data, 1, 100);
HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_SET);
for (uint8_t i = 0; i < 8; i++)
{
Data[0] = 0x100 + (i<<8) + i;
HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_RESET);
HAL_SPI_Transmit(&hspi1, (uint8_t*)Data, 1, 100);
HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_SET);
}
int64_t DisplayData = 0;
/* USER CODE END 2 */
@@ -154,6 +107,53 @@ int main(void)
/* USER CODE BEGIN WHILE */
while (1)
{
DS_ButtonUpdate(&ButtonUP);
DS_ButtonUpdate(&ButtonDown);
if(DS_ButtonRisingEdge(&ButtonUP))
{
DisplayData++;
DS_MAX7219_Print(&Display, DisplayData);
DS_MAX7219_UpdateDisplay(&Display);
}
if(DS_ButtonRisingEdge(&ButtonDown))
{
DisplayData--;
DS_MAX7219_Print(&Display, DisplayData);
DS_MAX7219_UpdateDisplay(&Display);
}
if(DS_Button_PressedLong(&ButtonUP))
{
DisplayData = DisplayData + 10;
DS_MAX7219_Print(&Display, DisplayData);
DS_MAX7219_UpdateDisplay(&Display);
}
if(DS_Button_PressedLong(&ButtonDown))
{
DisplayData = DisplayData - 10;
DS_MAX7219_Print(&Display, DisplayData);
DS_MAX7219_UpdateDisplay(&Display);
}
if(DS_Button_PressedLongLong(&ButtonUP))
{
DisplayData = DisplayData + 100;
DS_MAX7219_Print(&Display, DisplayData);
DS_MAX7219_UpdateDisplay(&Display);
}
if(DS_Button_PressedLongLong(&ButtonDown))
{
DisplayData = DisplayData - 100;
DS_MAX7219_Print(&Display, DisplayData);
DS_MAX7219_UpdateDisplay(&Display);
}
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */