96 lines
3.3 KiB
C
96 lines
3.3 KiB
C
#ifndef __BASIC_H
|
||
#define __BASIC_H
|
||
|
||
#include "stm32f4xx.h"
|
||
#include "math.h"
|
||
#include "systick.h"
|
||
#include "adc.h"
|
||
#include "usart.h"
|
||
#include "tim.h"
|
||
#include "dac.h"
|
||
#include "Safetybarrier.h"
|
||
#include "spi.h"
|
||
#include "motor.h"
|
||
|
||
extern int num_array[22];
|
||
extern int it_100us_flag;
|
||
extern int it_500us_flag;
|
||
extern int it_1ms_flag;
|
||
//extern int it_10ms_flag;
|
||
extern int it_50ms_flag;
|
||
extern int it_100ms_flag;
|
||
extern int it_500ms_flag;
|
||
extern int it_1s_flag;
|
||
//extern int it_2s_flag;
|
||
extern int mov_flag;
|
||
extern int Mode_turn; //安全栅模式/电流模式切换
|
||
extern int zero_flag; //零点标志
|
||
extern uint16_t V_Channel[22]; //ADC数据组(电流值)
|
||
extern uint16_t V_time_test[20]; //时间测试时保存的稳定电流值
|
||
extern unsigned char send_data[50]; //发送数据组
|
||
extern unsigned char time_data[60]; //时间
|
||
extern unsigned char Fre_data[4]; //频率
|
||
extern u8 state[20]; //安全栅状态组
|
||
extern char s; //光电开关
|
||
|
||
extern u16 Tstar[20]; //启动延时时间
|
||
extern u8 Terror[20]; //错误信号持续时间
|
||
extern u16 T_flag[20]; //时间标志
|
||
|
||
extern unsigned short SUR_DEVICE_ADDR; //PC //0x00A1; //设备
|
||
extern unsigned short OBJ_DEVICE_ADDR; //主板 //0x00B1; //PC群发 FFFF 0000
|
||
|
||
extern volatile uint16_t com3_rx_len; //接收帧数据的长度
|
||
extern volatile uint8_t com3_recv_end_flag; //帧数据接收完成标志
|
||
extern uint8_t com3_rx_buffer[10]; //接收数据缓存
|
||
extern uint8_t UART_Receive_flg;
|
||
extern uint8_t UART_Receive_len;
|
||
|
||
extern float temp; //温度
|
||
extern float length; //长度
|
||
extern float act_length; //实际长度
|
||
extern float zero_length; //零点位置位移数据
|
||
|
||
extern char Rate_dis; //额定距离:0-1mm 1-2mm 2-3mm 3-4mm
|
||
extern char Travle_Flag; //0 直 1 角
|
||
extern char Motor_Run; //0 停止 1 运行 2 运行到起始点 3 运行到结束点
|
||
extern char Run_State; //频率测试标志
|
||
extern char Run_Mode; //0 点动 1 方案一 2 方案二
|
||
extern char Run_Dir; //0 正转 1 反转
|
||
extern unsigned int Run_Step; //电机运行步长
|
||
extern unsigned int Run_Inter; //电机运行间隔时长
|
||
extern unsigned int Set_Vol; //设定电压
|
||
extern unsigned int Motor_Fre; //转动频率
|
||
extern unsigned int Mode_Flag; //模式标志
|
||
extern unsigned int Speed; //转速
|
||
extern unsigned char get_time_flag;//时间测试开始标志
|
||
extern unsigned int Set_dis;
|
||
extern float dis;
|
||
|
||
extern uint16_t N; //数组计数值
|
||
extern uint32_t count; //光电变换计数
|
||
extern uint32_t count_array[20]; //光电变换计数数组
|
||
extern uint32_t count_sum; //光电变换计数总和
|
||
extern int MOT_Fre; //光电频率
|
||
extern char ADC_Flag; //ADC变化标志
|
||
extern uint32_t ADC_Count; //ADC变化计数
|
||
extern uint32_t ADC_Count_array[20];//ADC变化计数数组
|
||
extern uint32_t ADC_Count_sum; //ADC变化计数总和
|
||
extern int ADC_Fre; //ADC变化频率
|
||
|
||
void Sys_Init(void); //系统初始化
|
||
void led(void); //led闪烁
|
||
void main_do(void); //主函数运行程序
|
||
void mode_one(void); //运行模式一
|
||
void mode_two(void); //运行模式二
|
||
void mode_thr(void); //运行模式三
|
||
void get_time(void); //启动延时时间和错误信号持续时间计算
|
||
void deal_time(void); //时间数据处理
|
||
void get_length(uint8_t *D_array); //位移数据整理
|
||
void data_deal(unsigned char *send_array,uint16_t *V_array,float l,float t);//ADC、位移、温度数据处理
|
||
int zero_deal(void);
|
||
void time_test(int i);
|
||
|
||
#endif /* __BASIC_H */
|
||
|