/
AVLGU
/
STM32F072_Programming
Обзор
Документация
Войти
/
AVLGU
/
STM32F072_Programming
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
main.c
73 строки
1 KB
AVLGU
рабочая версия на неправильном прерывании и обработчике
17 дек 2025, 08:53
17 дек 2025, 08:53
d6a77f2
Код
Авторство
О чём код?
#include "stm32f0xx.h" #include "keyboard4.h" #include "leds4.h" #include "SPI.h" void Interrupt_counter (void); static void init(void) { // PA0 -INPUT BUTTON //RCC->AHBENR |= RCC_AHBENR_GPIOAEN; //GPIOA->MODER &= ~(GPIO_MODER_MODER0); // reset on leg 0 //GPIOA->PUPDR &= ~(GPIO_PUPDR_PUPDR0); // reset PUPDR on leg 0 //GPIOA->PUPDR |= ~(GPIO_PUPDR_PUPDR0_0); // PUR on leg 0 InitKeyboard(); InitLeds(); //SPI2_Init_TransmitOnly(); } static volatile uint16_t button; static volatile uint8_t need_check=0; static void systick_init(void) { SystemCoreClockUpdate(); SysTick->LOAD = SystemCoreClock/1000-1; //restart val SysTick->VAL = 0; // first start val SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | SysTick_CTRL_ENABLE_Msk | SysTick_CTRL_TICKINT_Msk; } volatile uint8_t spi_curr=0; void SysTick_Handler (void); void SysTick_Handler (void)// on overflow sysTic { CheckButtons(); Debouncing(); MovePicture(); //spi_curr ++; //if (spi_curr==SPI_SEND_TIME) GPIOA->BSRR = GPIO_BSRR_BS_8; } void SPI2_IRQHandler(void); int main(void) { init(); systick_init(); initScreen(); //leds_row[4] = 1; //leds_column[4] = 1; //SPI2_Transmit(leds_row, leds_column); while(1) { //MovePicture(); ////DisplayOnScreen(); //LightLeds(); //SPI2_Transmit(leds_row, leds_column); } }