110 lines
3.1 KiB
C
110 lines
3.1 KiB
C
/*
|
||
* @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);
|
||
}
|
||
|
||
}
|
||
|