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.
176 lines
4.4 KiB
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 */
|
||
|
}
|