/* * user.h * * Created on: 2023年8月3日 * Author: wyf */ #ifndef INC_USER_H_ #define INC_USER_H_ #include "main.h" #include "adc.h" #include "dma.h" #include "iwdg.h" #include "tim.h" #include "usart.h" #include "gpio.h" #include "user_stick.h" #include "stdio.h" #include "string.h" #define ENABLE_INT() __set_PRIMASK(0) /* 使能全局中断 */ #define DISABLE_INT() __set_PRIMASK(1) /* 禁止全局中断 */ extern DMA_HandleTypeDef hdma_adc; extern ADC_HandleTypeDef hadc; extern TIM_HandleTypeDef htim14; extern DMA_HandleTypeDef hdma_usart1_rx; extern DMA_HandleTypeDef hdma_usart1_tx; extern UART_HandleTypeDef huart1; #define FLASHmotor_runtime 0x08007000 #define FLASH485_ADDR 0x08003C00 #define BUFF_LEN 128 #define ADCBUFF_LEN 200 extern volatile uint8_t usart_count ; //串口接收数据个数 extern uint8_t RxBuff[BUFF_LEN] ; //串口接收缓冲区 extern uint8_t TXBuff[BUFF_LEN] ; //串口发送缓冲区 extern uint8_t uBuff[BUFF_LEN]; //用户缓冲区 extern volatile int8_t polarity ; //电场极性 extern volatile uint8_t motor_state ; //电机状态,1为正常, 0不正常 extern volatile uint16_t RS485ADDR ; //485地址 extern uint16_t RegularConvData_Tab[ADCBUFF_LEN] ; //ADC采集原始数据 extern volatile int16_t adc_max ; //最终峰峰值 extern volatile uint16_t pwm_pulse ; //pwm波脉宽 extern volatile uint16_t motor_runtime; //电机运行时间 extern uint8_t tempe ,humidness ; //温度湿度 extern uint16_t airpress ; //气压计 void user_init(void); void user_main(void); void ADC_MAX(void); void Usart_Receive(void); uint16_t crc16_modbus(uint8_t *data, uint16_t length); void MODBUS_03H(void); void send_ack(uint8_t a); void MODBUS_06H(void); uint8_t writeflash(void); uint8_t write_flash(void); uint8_t write_runtime(void); void Uart_SetBaud(int16_t baud); #endif /* INC_USER_H_ */