Files
Frame-rate-optimization/App/main.c
2026-04-09 10:14:20 +08:00

138 lines
2.3 KiB
C

/**
**************************************************************************
* @file main.c
* @brief main program
**************************************************************************
*
*
**************************************************************************
*/
#include "at32a423.h"
#include "at32a423_clock.h"
#include "systick.h"
#include "sysconfig.h"
#include "string.h"
#include "stdio.h"
#include "at32a423_tmr.h" // 定时器专用头文件(关键!)
#include "at32a423_crm.h" // 时钟管理头文件(关键!)
#include "app_get_json.h"
#include "app_scan.h"
#include "app_soft.h"
#include "bsp_led.h"
#include "bsp_uart.h"
#include "bsp_adc.h"
#include "bsp_can.h"
#include "bsp_spi.h"
#include "bsp_rs2251.h"
#include "bsp_74hc595.h"
#include "bsp_flash.h"
#include "mx_spi.h"
#include "resi_math_lib.h"
#include "bsp_rs2251.h"
#include "cali_process.h"
#include "lib_cal_creep_resistance.h"
#include "main.h"
#define CAL_CREEP_ENABLE 0
#define JSON_ENABLE 0
uint8_t serial_tx_buffer2[AX_NUM][AY_NUM] = {0};//校准数组
uint8_t map_matrix[12*12*3];
crm_clocks_freq_type crm_clocks_freq_struct = {0};
void TMR1_init(void);
int line_flag=0;
int main(void)
{
static uint64_t time_ms = 0;
system_clock_config();//时钟配置
nvic_priority_group_config(NVIC_PRIORITY_GROUP_4);//中断优先级配置
systick_config();//时基配置
bsp_led_init(LED2);
can1_init();
adc_init();
RS2251_Init();
ref_gpio_init();
ic_74hc595_init();
mx_spi_init();
line_flag = line_init();
app_user_map_init();
// uart3_init(921600);
uart3_init(2000000);
delay_ms(1000);
TMR1_init();
// Choose_AX_Channel(5);
// REF_OUT(0);
// ic_74hc595_io_write_1(7);
while(1)
{
delay_ms(1);
scan_deal();//扫描处理
adc_deal(); //数据处理
}
}
void TMR1_init(void){
crm_clocks_freq_get(&crm_clocks_freq_struct);
/* enable tmr1 clock */
crm_periph_clock_enable(CRM_TMR1_PERIPH_CLOCK, TRUE);
/* tmr1 configuration */
/* time base configuration */
tmr_base_init(TMR1, 6, 139);//此处119不是对应系统频率
tmr_cnt_dir_set(TMR1, TMR_COUNT_UP);
/* overflow interrupt enable */
tmr_interrupt_enable(TMR1, TMR_OVF_INT, TRUE);
/* tmr1 hall interrupt nvic init */
nvic_priority_group_config(NVIC_PRIORITY_GROUP_4);
nvic_irq_enable(TMR1_OVF_TMR10_IRQn, 1, 0);
/* enable tmr1 */
tmr_counter_enable(TMR1, TRUE);
}