167 lines
5.4 KiB
C
167 lines
5.4 KiB
C
/**************** (C) COPYRIGHT 2023 山东云唐智能科技有限公司 *******************
|
|
* 文 件 名:
|
|
* 创 建 者: Kaiser
|
|
* 描 述 :
|
|
* 最后修改:
|
|
*********************************** 修订记录 ************************************
|
|
* 版 本:
|
|
* 修订人:
|
|
********************************************************************************/
|
|
|
|
/******************************** 功能说明 *************************************
|
|
*
|
|
*******************************************************************************/
|
|
|
|
#ifndef _APPDEF_H_
|
|
#define _APPDEF_H_
|
|
|
|
#include "BSP.H"
|
|
union floattouint16_t { // 32位浮点数转换为16位整数
|
|
float f;
|
|
uint32_t u32;
|
|
uint16_t u16[2];
|
|
uint8_t u8[4];
|
|
};
|
|
extern union floattouint16_t FtU;
|
|
/******************************** 功能说明 *************************************
|
|
*
|
|
*******************************************************************************/
|
|
extern void
|
|
delay_us(uint32_t us);
|
|
|
|
/******************************** 功能说明 *************************************
|
|
*
|
|
*******************************************************************************/
|
|
|
|
extern void ModbusPoll(const void *parg);
|
|
extern void MODBUS_Init(uint8_t MBAddress);
|
|
extern uint16_t usRegInputBuf[];
|
|
extern uint16_t usRegHoldingBuf[];
|
|
extern uint8_t ucRegDiscBuf[];
|
|
extern uint8_t ucRegCoilsBuf[];
|
|
#define RegCoilsBufRead(addr) ((ucRegCoilsBuf[(addr) / 8u]) & (0x01 << ((addr) % 8)))
|
|
#define RegCoilsBufRst(addr) ((ucRegCoilsBuf[(addr) / 8u]) &= (~(0x01 << ((addr) % 8))))
|
|
#define RegCoilsBufSet(addr) ((ucRegCoilsBuf[(addr) / 8u]) |= (0x01 << ((addr) % 8)))
|
|
|
|
#define RegDiscBufRead(addr) ((ucRegCoilsBuf[(addr) / 8u]) & (0x01 << ((addr) % 8)))
|
|
#define RegDiscBufRst(addr) ((ucRegDiscBuf[(addr) / 8u]) &= (~(0x01 << ((addr) % 8))))
|
|
#define RegDiscBufSet(addr) ((ucRegDiscBuf[(addr) / 8u]) |= (0x01 << ((addr) % 8)))
|
|
|
|
/******************************** 功能说明 *************************************
|
|
*
|
|
*******************************************************************************/
|
|
extern void delay_us(uint32_t us);
|
|
|
|
/******************************** 功能说明 *************************************
|
|
*
|
|
*******************************************************************************/
|
|
extern float UltrasoundData;
|
|
|
|
extern float H, S, V;
|
|
extern int sR, sG, sB;
|
|
struct ColorH {
|
|
float A; // 三次方
|
|
float B; // 二次方
|
|
float C; // 一次方
|
|
float D; // 常数
|
|
};
|
|
extern struct ColorH ColorHSV;
|
|
extern float ColorOut;
|
|
/******************************** 功能说明 *************************************
|
|
*
|
|
*******************************************************************************/
|
|
extern void GPIO_InPutset(void);
|
|
extern uint8_t InstrumentTypeRead(void);
|
|
extern bool SafeCheck(void);
|
|
|
|
extern void INIT_CS555X(void);
|
|
|
|
extern void AD7190_Init(void);
|
|
extern void AD7190_ReadVoltage(void);
|
|
|
|
extern void WeightCtrl_Init(void);
|
|
|
|
struct uCalibrateWeight {
|
|
double WeightSlope; // 斜率
|
|
int32_t WeightZero; // 零点
|
|
};
|
|
extern struct uCalibrateWeight CalibrateWeight;
|
|
extern struct uCalibrateWeight CalibrateWeight2;
|
|
extern uint32_t HX711Data; // 原始数据
|
|
extern uint32_t HX711Zero; // 原始数据
|
|
extern float WeightData; // 重量数据
|
|
extern float WeightData2; // 重量数据
|
|
extern float ADvalue2filter;
|
|
|
|
extern void MAX6675_Init(void);
|
|
extern void USARTHMIInit(void);
|
|
extern void BIOS_USART2_Init(uint32_t baudrate);
|
|
extern void USART2Print(uint8_t *buffer, uint8_t lenth);
|
|
|
|
extern void AC_CTRL_Init(void);
|
|
extern void Pump_OutCmd(bool NewState);
|
|
|
|
/******************************** 功能说明 *************************************
|
|
*
|
|
*******************************************************************************/
|
|
|
|
struct Pset {
|
|
uint16_t CRC_Head; // CRC校验头
|
|
|
|
uint8_t AutoTimeStop; // 自动停机时间
|
|
uint8_t AutoWeightChange; // 自动停机重量
|
|
uint8_t TempSet; // 干燥温度
|
|
uint8_t TimeStop; // 停机时间
|
|
uint8_t AutoStyle; // 停机方式 自动
|
|
uint8_t FastStyle; // 干燥模式 快速
|
|
|
|
uint8_t FilterQ; // 滤波器阶数
|
|
uint8_t SensorQ; // 传感器阶数
|
|
uint8_t HoldTime; // 稳定时间
|
|
uint8_t RuBianLiang; // 蠕变量
|
|
uint8_t RuBianTime; // 蠕变时间
|
|
uint8_t ZeroTrack; // 零点跟踪
|
|
|
|
float TempDelta; // 校准温度差
|
|
float WeightSet; // 校准重量
|
|
|
|
|
|
uint32_t BaudRate; // 波特率
|
|
bool SW0; // 自定义开关1
|
|
bool SW1; // 自定义开关2
|
|
bool SW2; // 自定义开关3
|
|
bool PercentChange; // 含水量含固量
|
|
uint8_t Title[32]; // 标题
|
|
uint8_t TitleOne[32]; // 标题1
|
|
uint8_t TitleTwo[32]; // 标题2
|
|
uint8_t TitleThree[32]; // 标题3
|
|
uint8_t UserName[16]; // 用户名
|
|
uint8_t UserPwd[16]; // 密码
|
|
|
|
uint16_t CRC_Tail; // CRC校验尾
|
|
};
|
|
extern struct Pset Set;
|
|
|
|
extern void FM24Init(void);
|
|
extern void FM24_Write(uint16_t addr, uint8_t *data, uint8_t len);
|
|
extern void FM24_Read(uint16_t addr, uint8_t *data, uint8_t len);
|
|
#define CalibrateWeight2Set 0x0140u
|
|
#define RW_Set 0x0200u
|
|
#define CRCHead 0x55AAu
|
|
// #define RW_WeightSlope 0x0104u
|
|
// #define RW_WeightZero 0x0108u
|
|
// #define RW_ColorHSV_A 0x010Cu
|
|
// #define RW_ColorHSV_B 0x0110u
|
|
// #define RW_ColorHSV_C 0x0114u
|
|
// #define RW_ColorHSV_D 0x0118u
|
|
// #define RW_BackADCLimit 0x011Cu
|
|
// #define RW_RunStop 0x0120u
|
|
// #define RW_CRC_End 0x0180u
|
|
#define CRCEnd 0xAA55u
|
|
extern void BIOS_NVIC_Init(void);
|
|
extern bool weightChanging;
|
|
|
|
#endif
|
|
|
|
/******** (C) COPYRIGHT 2023 山东云唐智能科技有限公司 **** End Of File ********/
|