171 lines
3.4 KiB
C
171 lines
3.4 KiB
C
#include "stm32f4xx_it.h"
|
|
#include "stm32f4xx_hal.h"
|
|
#include "./BSP/ADS1278/ads1278.h"
|
|
#include "./SYSTEM/spi1/spi1.h"
|
|
/** @addtogroup STM32F4xx_HAL_Examples
|
|
* @{
|
|
*/
|
|
|
|
/** @addtogroup Templates
|
|
* @{
|
|
*/
|
|
|
|
|
|
/******************************************************************************/
|
|
/* Cortex-M4 Processor Exceptions Handlers */
|
|
/******************************************************************************/
|
|
|
|
/**
|
|
* @brief This function handles NMI exception.
|
|
* @param None
|
|
* @retval None
|
|
*/
|
|
void NMI_Handler(void)
|
|
{
|
|
}
|
|
|
|
/**
|
|
* @brief This function handles Hard Fault exception.
|
|
* @param None
|
|
* @retval None
|
|
*/
|
|
void HardFault_Handler(void)
|
|
{
|
|
/* Go to infinite loop when Hard Fault exception occurs */
|
|
while (1)
|
|
{
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @brief This function handles Memory Manage exception.
|
|
* @param None
|
|
* @retval None
|
|
*/
|
|
void MemManage_Handler(void)
|
|
{
|
|
/* Go to infinite loop when Memory Manage exception occurs */
|
|
while (1)
|
|
{
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @brief This function handles Bus Fault exception.
|
|
* @param None
|
|
* @retval None
|
|
*/
|
|
void BusFault_Handler(void)
|
|
{
|
|
/* Go to infinite loop when Bus Fault exception occurs */
|
|
while (1)
|
|
{
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @brief This function handles Usage Fault exception.
|
|
* @param None
|
|
* @retval None
|
|
*/
|
|
void UsageFault_Handler(void)
|
|
{
|
|
/* Go to infinite loop when Usage Fault exception occurs */
|
|
while (1)
|
|
{
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @brief This function handles SVCall exception.
|
|
* @param None
|
|
* @retval None
|
|
*/
|
|
void SVC_Handler(void)
|
|
{
|
|
}
|
|
|
|
/**
|
|
* @brief This function handles Debug Monitor exception.
|
|
* @param None
|
|
* @retval None
|
|
*/
|
|
void DebugMon_Handler(void)
|
|
{
|
|
}
|
|
|
|
/**
|
|
* @brief This function handles PendSVC exception.
|
|
* @param None
|
|
* @retval None
|
|
*/
|
|
void PendSV_Handler(void)
|
|
{
|
|
}
|
|
|
|
/**
|
|
* @brief This function handles SysTick Handler.
|
|
* @param None
|
|
* @retval None
|
|
*/
|
|
void SysTick_Handler(void)
|
|
{
|
|
HAL_IncTick();
|
|
}
|
|
|
|
/******************************************************************************/
|
|
/* STM32F4xx Peripherals Interrupt Handlers */
|
|
/* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */
|
|
/* available peripheral interrupt handler's name please refer to the startup */
|
|
/* file (startup_stm32f4xx.s). */
|
|
/******************************************************************************/
|
|
|
|
/**
|
|
* @brief This function handles PPP interrupt request.
|
|
* @param None
|
|
* @retval None
|
|
*/
|
|
|
|
extern int Flag;
|
|
void EXTI15_10_IRQHandler(void)
|
|
{
|
|
if(__HAL_GPIO_EXTI_GET_IT(DRDY_Pin) != RESET)
|
|
{
|
|
//清除中断标志位
|
|
__HAL_GPIO_EXTI_CLEAR_IT(DRDY_Pin);
|
|
if(Flag == 0){
|
|
Flag = 1;
|
|
HAL_NVIC_EnableIRQ(EXTI9_5_IRQn);
|
|
}
|
|
else{
|
|
ADS1278_Data_Receive();
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
void EXTI9_5_IRQHandler(void)
|
|
{
|
|
if(__HAL_GPIO_EXTI_GET_IT(CLK_Pin) != RESET)
|
|
{
|
|
//清除中断标志位
|
|
__HAL_GPIO_EXTI_CLEAR_IT(CLK_Pin);
|
|
if(Flag == 2){
|
|
__NOP();
|
|
__NOP();
|
|
__NOP();
|
|
__NOP();
|
|
__NOP();
|
|
__NOP();
|
|
HAL_GPIO_WritePin(GPIOG, SYNC_Pin, GPIO_PIN_SET);
|
|
HAL_NVIC_DisableIRQ(EXTI9_5_IRQn);
|
|
}
|
|
if(Flag == 1){
|
|
HAL_delay_us(8);
|
|
HAL_GPIO_WritePin(GPIOG, SYNC_Pin, GPIO_PIN_RESET);
|
|
HAL_delay_us(3);
|
|
Flag = 2;
|
|
}
|
|
}
|
|
}
|