switch_test/User/basic.h

96 lines
3.3 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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 */