110VCGQ/project/revamp_addr/user/Inc/user.h

73 lines
2.1 KiB
C
Raw Normal View History

2024-11-18 10:09:39 +08:00
/*
* user.h
*
* Created on: 20231027
* Author: wyf
*/
#ifndef USER_INC_USER_H_
#define USER_INC_USER_H_
#include "main.h"
#include "string.h"
#include "user_stick.h"
#include "user_key.h"
//#include "user_iic.h"
#include "user_oled.h"
//#include "user_oledfont.h"
#define ENABLE_INT() __set_PRIMASK(0) /* 使能全局中断 */
#define DISABLE_INT() __set_PRIMASK(1) /* 禁止全局中断 */
#define PWR_ON() HAL_GPIO_WritePin(PWR_EN_GPIO_Port, PWR_EN_Pin, GPIO_PIN_SET)
#define PWR_OFF() HAL_GPIO_WritePin(PWR_EN_GPIO_Port, PWR_EN_Pin, GPIO_PIN_RESET)
#define RLED_ON() HAL_GPIO_WritePin(RLED_GPIO_Port, RLED_Pin, GPIO_PIN_RESET);
#define RLED_OFF() HAL_GPIO_WritePin(RLED_GPIO_Port, RLED_Pin, GPIO_PIN_SET);
#define BLED_ON() HAL_GPIO_WritePin(BLED_GPIO_Port, BLED_Pin, GPIO_PIN_RESET);
#define BLED_OFF() HAL_GPIO_WritePin(BLED_GPIO_Port, BLED_Pin, GPIO_PIN_SET);
#define BELL_ON() HAL_TIM_PWM_Start_IT(&htim17, TIM_CHANNEL_1);
#define BELL_OFF() HAL_TIM_PWM_Stop_IT(&htim17, TIM_CHANNEL_1);
#define UART_BUFF_LEN 64
extern uint8_t uart1_count ; //串口1接收数据个数
extern uint8_t uart1_RxBuff[UART_BUFF_LEN] ; //串口1接收缓冲区
extern uint8_t uart1_TXBuff[UART_BUFF_LEN] ; //串口1发送缓冲区
extern uint8_t uart1_uBuff[UART_BUFF_LEN] ; //串口1用户缓冲区
extern uint8_t current_addr ; //要修改的地址
extern uint8_t last_send ; //上一次修改的值
extern uint16_t RegularConvData_Tab[10];
extern DMA_HandleTypeDef hdma_usart1_rx;
extern DMA_HandleTypeDef hdma_usart1_tx;
extern UART_HandleTypeDef huart1;
extern TIM_HandleTypeDef htim17;
extern ADC_HandleTypeDef hadc1;
typedef struct bell_sta
{
uint8_t num; //次数
uint16_t continue_time; //持续时间
uint16_t interval_tine; //间隔时间
}BELL_STATE;
extern BELL_STATE bell_state;
void user_main(void);
void user_init(void);
void bsp_RunPer10ms(void);
void oled_show(void);
uint16_t crc16_modbus(uint8_t *data, uint16_t length);
void send_addr(uint8_t addr);
void key_slave(void);
void uart_slave(void);
void oled_voltage(uint8_t voltage_class);
#endif /* USER_INC_USER_H_ */