不含stm32 底层的代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
MyStm32Code/base/Src/interrupt_port.c

176 lines
4.4 KiB

2 years ago
#include "main.h"
#include "cmsis_os.h"
#include "usart.h"
#include "tim.h"
#include "bsp_uart.h"
#include "bsp_i2c.h"
#include "elog.h"
#include "base.h"
// #include "PH.h"
// #include "temperature.h"
#if 1
// #define huart3_helper ph_uart_helper
#define huart3_helper temp_uart_helper
#define hi2c1_helper ads1115_i2c_helper
extern osSemaphoreId_t elog_dma_lockHandle;
void USART1_IRQHandler(void)
{
if (__HAL_UART_GET_FLAG(&huart1, UART_FLAG_TC) != RESET)
{
osSemaphoreRelease(elog_dma_lockHandle);
huart1.gState = HAL_UART_STATE_READY;
__HAL_UART_CLEAR_FLAG(&huart1, UART_FLAG_TC);
}
HAL_UART_IRQHandler(&huart1);
}
void USART3_IRQHandler(void)
{
if (__HAL_UART_GET_FLAG(&huart3, UART_FLAG_TC) != RESET)
{
log_i(" usart 3 it tc ... ");
huart3.gState = HAL_UART_STATE_READY;
// max3160_485_receive_mode();
// TODO 回调函数,带obj
UART_HELPER_Trans_TxCplt_Callback( huart3_helper );
__HAL_UART_CLEAR_FLAG(&huart3, UART_FLAG_TC);
}
// if (__HAL_UART_GET_FLAG(&huart3, UART_FLAG_RXNE) != RESET)
// {
// log_i( " usart3 it rxne....");
// __HAL_UART_CLEAR_FLAG(&huart3, UART_FLAG_TC);
// }
if (__HAL_UART_GET_FLAG( &huart3, UART_FLAG_IDLE ) != RESET){
log_i(" usart 3 it idle ... ");
uint16_t count = __HAL_DMA_GET_COUNTER( huart3.hdmarx );
// // 判断是否有数据 count 为剩余未接收的字节数
if (huart3_helper->rcv_size != count)
{
UART_HELPER_RCV_IDLE_Callback( huart3_helper , (huart3_helper->rcv_size-count));
}
__HAL_UART_CLEAR_IDLEFLAG( &huart3 );
}
HAL_UART_IRQHandler(&huart3);
}
void USART6_IRQHandler(void)
{
if (__HAL_UART_GET_FLAG(&huart6, UART_FLAG_TC) != RESET)
{
huart6.gState = HAL_UART_STATE_READY;
log_i(" usart 6 it ... ");
__HAL_UART_CLEAR_FLAG(&huart6, UART_FLAG_TC);
}
if (__HAL_UART_GET_FLAG(&huart6, UART_FLAG_RXNE) != RESET)
{
log_i( " huart6 it....");
__HAL_UART_CLEAR_FLAG(&huart6, UART_FLAG_TC);
}
HAL_UART_IRQHandler(&huart6);
}
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
if (huart->Instance == huart3.Instance)
{
log_i("....huart3 rx callback.... " );
UART_HELPER_RCV_Cplt_Callback( huart3_helper );
__HAL_UART_CLEAR_FLAG(&huart3, UART_FLAG_RXNE);
}
}
// void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
// {
// if (huart->Instance == huart3.Instance)
// {
// /* 拷贝数据 到菜单 */
// log_i("huart3 idle -> ****** HAL_UARTEx_RxEventCallback ");
// __HAL_UART_CLEAR_IDLEFLAG(&huart3);
// }
// }
// void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
// {
// // if (huart->Instance == huart3.Instance)
// // {
// // // max3160_485_receive_mode();
// // // huart3.gState = HAL_UART_STATE_READY;
// // __HAL_UART_CLEAR_FLAG(&huart3, UART_FLAG_TC);
// // }
// }
/******************************* I2C CallBack *********************************/
void I2C1_EV_IRQHandler(void)
{
HAL_I2C_EV_IRQHandler(&hi2c1);
}
void I2C1_ER_IRQHandler(void)
{
HAL_I2C_ER_IRQHandler(&hi2c1);
}
void HAL_I2C_MemTxCpltCallback(I2C_HandleTypeDef *hi2c)
{
log_i( " HAL_I2C_Mem TxCpltCallback ------------------- ");
if (hi2c == &hi2c1)
{
log_i( " HAL_I2C_Mem TxCpltCallback --- hi2c1 ---------------- ");
I2C_HELPER_Trans_TxCplt_Callback(hi2c1_helper);
}
}
void HAL_I2C_MemRxCpltCallback(I2C_HandleTypeDef *hi2c)
{
log_i( " HAL_I2C_Mem RxCpltCallback ------------------- ");
{
log_i( " HAL_I2C_Mem RxCpltCallback --- hi2c1 ---------------- ");
I2C_HELPER_Trans_TxCplt_Callback(hi2c1_helper);
}
}
void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c)
{
log_i( " i2c master send cplt ------------------- ");
}
void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c)
{
log_i( " i2c master rx cplt ------------------- ");
}
void HAL_I2C_ErrorCallback(I2C_HandleTypeDef *hi2c)
{
log_i( " HAL_I2C_ErrorCallback ------------------- ");
}
#endif
void TIM1_UP_TIM10_IRQHandler(void)
{
/* USER CODE BEGIN TIM1_UP_TIM10_IRQn 0 */
/* USER CODE END TIM1_UP_TIM10_IRQn 0 */
HAL_TIM_IRQHandler(&htim10);
/* USER CODE BEGIN TIM1_UP_TIM10_IRQn 1 */
/* USER CODE END TIM1_UP_TIM10_IRQn 1 */
}