fix: add missing MCU2 firmware project

This commit is contained in:
FinleyHsu
2026-07-28 11:05:07 +08:00
parent 51db11bdd3
commit c2377565dc
139 changed files with 56036 additions and 7 deletions
@@ -0,0 +1,113 @@
/*************************** (C) COPYRIGHT 2017 YNHB ****************************
* 文件名 main.c
* 描 述 :主函数
* 版 本 V1.0
* 作 者 XuZhongPing
* 日 期 2017/03/05
*********************************************************************************/
#include "stm32f10x.h"
#include "device.h"
#include "data_typedef.h"
#include "m_s_comm.h"
#include "gps.h"
void NVIC_Configuration(void);
void RegularUploadTask(void);
int main(void)
{
static timer waitingTimer_1s;
timer_set(&waitingTimer_1s, 10);
delay_init(); //延时函数初始化
NVIC_Configuration(); //设置NVIC中断分组
USART1_Init(2400); //秤2
USART2_Init(38400); //主从MCU通信接口
USART3_Init(2400); //秤1
USART4_Init(9600); //GPS
USART5_Init(115200); //秤4
TIM2_Int_Init(1000, 7200-1); //10Khz的计数频率,计数到1000为100ms (即每个周期为0.1ms
TIM3_Int_Init(100, 7200-1); //10Khz的计数频率(每个周期为0.1ms),定时10ms用于限位开关和按钮扫描
TIM4_Int_Init(5000, 7200-1); //10Khz的计数频率(每个周期为0.1ms),计数到5000为500ms
TIM5_Int_Init(50, 7200-1); //10Khz的计数频率(每个周期为0.1ms),计数到50为5ms
printf("\r\n***************System Running***************\r\n");
DeviceInit(); //硬件设备初始化
GPS_Init();
IWDG_Init(5, 625); //看门狗初始化,分频数为128,重载值为625,溢出时间为2s
while(1)
{
LED_Task(); //LED灯指示任务
WeightDetectionTask(); //称重检测
GetTemperatureTask(); //取得温度任务
GetDistanceTask(); //测距任务
KeysSendTask(); //按键状态发送任务
RegularUploadTask(); //定时上传任务
M_S_DataDecodeTask(); //主从机通信任务
GPS_Task(); //GPS定位处理任务
SystemExceptionTask(); //系统异常处理任务
IWDG_FeedTask(); //看门狗喂狗任务
if(timer_expired(&waitingTimer_1s))
{
timer_restart(&waitingTimer_1s);
}
}
}
/*
***********************************************************************
* 函 数 名: RegularUploadTask
* 功能说明: 定时上传任务
* 形 参:无
* 返 回 值: 无
***********************************************************************
*/
void RegularUploadTask(void)
{
static timer sendDevStaTimer; //上传设备运行状态信息(温度、信号、测距)
static timer gpsOutputTimer; //gps输出定时
static uint8_t timer_ok = 0;
if(timer_ok == 0)
{
timer_ok = 1;
timer_set(&sendDevStaTimer, 5);
timer_set(&gpsOutputTimer, CLOCK_SECOND*10);
}
//设备运行状态信息上传
if(timer_expired(&sendDevStaTimer))
{
timer_restart(&sendDevStaTimer);
M_S_CommandSend(0x01);
}
if(timer_expired(&gpsOutputTimer))
{
timer_restart(&gpsOutputTimer);
M_S_CommandSend(0x03);
}
}
/*
***********************************************************************
* 函 数 名: RegularUploadTask
* 功能说明: 定时上传任务
* 形 参:无
* 返 回 值: 无
***********************************************************************
*/
void NVIC_Configuration(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
}
/******************** (C) COPYRIGHT 2017 YNHB *****END OF FILE*******************/