acdt/users/Src/timer.c

110 lines
3.1 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* @Author: wujunchao wujunchao@wuxismart.com
* @Date: 2024-08-30 13:18:55
* @LastEditors: wujunchao wujunchao@wuxismart.com
* @LastEditTime: 2024-09-11 14:03:32
* @FilePath: \acdt\users\Src\timer.c
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
#include "timer.h"
int it_5ms_flag = 0;
int it_5ms_cnt = 0;
int it_10ms_flag = 0;
int it_10ms_cnt = 0;
int it_25ms_flag = 0;
int it_25ms_cnt = 0;
int it_50ms_flag = 0;
int it_50ms_cnt = 0;
int it_100ms_flag = 0;
int it_100ms_cnt = 0;
int it_300ms_flag = 0;
int it_300ms_cnt = 0;
int it_500ms_flag = 0;
int it_500ms_cnt = 0;
int it_1000ms_flag = 0;
int it_1000ms_cnt = 0;
int it_500ms_flag_pv = 0;
int it_500ms_cnt_pv = 0;
int it_100ms_flag_pv = 0;
int it_100ms_cnt_pv = 0;
int it_50ms_flag_pv = 0;
int it_50ms_cnt_pv = 0;
int it_30ms_flag_pv = 0;
int it_30ms_cnt_pv = 0;
int tick500ms = 0;
int tick500ms_cnt = 0;
void tim6_cnt(void)
{
it_5ms_cnt++;
if(it_5ms_cnt > 4 ) { it_5ms_flag = 1; it_5ms_cnt = 0; }
it_10ms_cnt++;
if(it_10ms_cnt > 9 ) { it_10ms_flag = 1; it_10ms_cnt = 0; }
it_25ms_cnt++;
if(it_25ms_cnt > 24 ) { it_25ms_flag = 1; it_25ms_cnt = 0; }
it_50ms_cnt++;
if(it_50ms_cnt > 49 ) { it_50ms_flag = 1; it_50ms_cnt = 0; }
it_100ms_cnt++;
if(it_100ms_cnt > 99 ) { it_100ms_flag = 1; it_100ms_cnt = 0; }
it_300ms_cnt++;
if(it_300ms_cnt > 299) { it_300ms_flag = 1; it_300ms_cnt = 0; }
it_500ms_cnt++;
if(it_500ms_cnt > 499) { it_500ms_flag = 1; it_500ms_cnt = 0; }
it_1000ms_cnt++;
if(it_1000ms_cnt > 999) { it_1000ms_flag = 1; it_1000ms_cnt = 0; }
if(it_500ms_cnt_pv > 499 ) { it_500ms_flag_pv = 1; it_500ms_cnt_pv = 0; }
it_500ms_cnt_pv++;
if(it_100ms_cnt_pv > 99 ) { it_100ms_flag_pv = 1; it_100ms_cnt_pv = 0; }
it_100ms_cnt_pv++;
if(it_50ms_cnt_pv > 49 ) { it_50ms_flag_pv = 1; it_50ms_cnt_pv = 0; }
it_50ms_cnt_pv++;
if(it_30ms_cnt_pv > 29 ) { it_30ms_flag_pv = 1; it_30ms_cnt_pv = 0; }
it_30ms_cnt_pv++;
if(tick500ms_cnt > 499)
{
tick500ms_cnt = 0;
tick500ms = (tick500ms > 7200)?(0):(tick500ms + 1); //ÿСʱ<D0A1><CAB1><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
}
tick500ms_cnt++;
}
//<2F><>дTIM<49>жϵ<D0B6><CFB5>ú<EFBFBD><C3BA><EFBFBD>
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if(htim == &htim6)
{
tim6_cnt();
}
if(htim == &MODBUS_HTIM)
{
__HAL_TIM_CLEAR_FLAG(&MODBUS_HTIM, TIM_FLAG_UPDATE);//<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1msû<73>н<EFBFBD><D0BD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>һ֡<D2BB><D6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
HAL_TIM_Base_Stop_IT(&MODBUS_HTIM); //<2F>ж<EFBFBD>֮<EFBFBD><D6AE>ֹͣ<CDA3><D6B9>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>ν<EFBFBD><CEBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ݿ<EFBFBD>ʼ
MODBUS_UART.rx_size = MODBUS_UART.rx_buf_cnt; //<2F><><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
MODBUS_UART.rx_buf_cnt = 0; //<2F><><EFBFBD><EFBFBD>
modbus_process_rtu();
}
// if(htim == &htim10)
// {
// hart_tim_cb();
// }
}
uint8_t exit_check = 0;
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) //<2F>ⲿ<EFBFBD>жϣ<D0B6><CFA3>ӱ<EFBFBD><D3B1><EFBFBD><EFBFBD><EFBFBD>Z<EFBFBD><5A>
{
if(GPIO_Pin == GPIO_PIN_13)
{
exit_check++;
exit_check = exit_check*(exit_check < 255);
}
}