controller-pcba/Core/Inc/main.h

239 lines
7.0 KiB
C

/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file main.h
* @brief : Header for main.c file.
* This file contains the common defines of the application.
******************************************************************************
* @attention
*
* Copyright (c) 2024 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __MAIN_H
#define __MAIN_H
#ifdef __cplusplus
extern "C"
{
#endif
/* Includes ------------------------------------------------------------------*/
#include "stm32f4xx_hal.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "stdio.h"
#include "tcpclient.h"
#include "tcpserverc.h"
#include "leds.h"
#include <string.h>
/* USER CODE END Includes */
/* Exported types ------------------------------------------------------------*/
/* USER CODE BEGIN ET */
extern uint8_t tcp_echo_flags_hart1;
extern uint8_t tcp_echo_flags_hart2;
extern uint8_t tcp_echo_flags_ble1;
extern uint8_t tcp_echo_flags_ble2;
extern uint8_t tcp_echo_flags_control;
extern uint8_t send_data_flag_cmd;
extern uint8_t uart_echo_flags_hart1;
extern uint8_t uart_echo_flags_hart2;
extern uint8_t uart_echo_flags_ble1;
extern uint8_t uart_echo_flags_ble2;
#define ARRAY_LEN(arr) (sizeof(arr)) / (sizeof(arr[0]))
typedef struct
{
uint16_t rx_num;
uint8_t rx_data[512];
uint8_t rx_data_temp[512];
uint8_t tx_data[512];
} uart_t;
extern uart_t lcd_uart4;
extern uart_t ble2_uart3;
extern uart_t ble1_uart6;
extern uart_t hart1_uart5;
extern uart_t hart2_uart2;
extern uart_t usb_uart1;
#define DEST_IP_ADDR0 192
#define DEST_IP_ADDR1 168
#define DEST_IP_ADDR2 1
#define DEST_IP_ADDR3 111
#define DEST_PORT 5001
#define UDP_SEREVER_PORT 5002
#define UDP_CLIENT_PORT 5002
#define LOCAL_PORT 5001
/* USER CODE END ET */
/* Exported constants --------------------------------------------------------*/
/* USER CODE BEGIN EC */
/* USER CODE END EC */
/* Exported macro ------------------------------------------------------------*/
/* USER CODE BEGIN EM */
/* USER CODE END EM */
/* Exported functions prototypes ---------------------------------------------*/
void Error_Handler(void);
/* USER CODE BEGIN EFP */
#define ENCODE_TIM8 1
#define HART1_USART6 0
/* USER CODE END EFP */
/* Private defines -----------------------------------------------------------*/
#define TCA6416_IIC3_SCL GPIO_PIN_2
#define TCA6416_IIC3_SDA GPIO_PIN_3
#define TCA6416_IIC3_GPIO_Port GPIOE
#define ETH_RESET_Pin GPIO_PIN_0
#define ETH_RESET_GPIO_Port GPIOC
#define T3_CH3_BUZZER_Pin GPIO_PIN_0
#define T3_CH3_BUZZER_GPIO_Port GPIOB
#define LED3_R_Pin GPIO_PIN_1
#define LED3_R_GPIO_Port GPIOB
#define LED3_G_Pin GPIO_PIN_2
#define LED3_G_GPIO_Port GPIOB
#define LED3_Y_Pin GPIO_PIN_7
#define LED3_Y_GPIO_Port GPIOE
#define EC11_KEY_Pin GPIO_PIN_8
#define EC11_KEY_GPIO_Port GPIOE
#define EC11_KEY_EXTI_IRQn EXTI9_5_IRQn
#define EC11_A_Pin GPIO_PIN_9
#define EC11_A_GPIO_Port GPIOE
#define EC11_B_Pin GPIO_PIN_11
#define EC11_B_GPIO_Port GPIOE
// #define LED2_R_Pin GPIO_PIN_12
// #define LED2_R_GPIO_Port GPIOE
// #define LED2_G_Pin GPIO_PIN_13
// #define LED2_G_GPIO_Port GPIOE
// #define LED2_Y_Pin GPIO_PIN_14
// #define LED2_Y_GPIO_Port GPIOE
#define ENCODE_Z_Pin GPIO_PIN_14
#define ENCODE_Z_GPIO_Port GPIOB
#define BLE2_TX_Pin GPIO_PIN_8
#define BLE2_TX_GPIO_Port GPIOD
#define BLE2_RX_Pin GPIO_PIN_9
#define BLE2_RX_GPIO_Port GPIOD
#define DO_CH4_Pin GPIO_PIN_11
#define DO_CH4_GPIO_Port GPIOD
#define DO_CH3_Pin GPIO_PIN_12
#define DO_CH3_GPIO_Port GPIOD
#define DO_CH1_Pin GPIO_PIN_13
#define DO_CH1_GPIO_Port GPIOD
// #define DO_CH2_Pin GPIO_PIN_14
// #define DO_CH2_GPIO_Port GPIOD
// #define DO_EN_Pin GPIO_PIN_15
// #define DO_EN_GPIO_Port GPIOD
#define DI_CH1_Pin GPIO_PIN_8
#define DI_CH1_GPIO_Port GPIOC
#define DI_CH2_Pin GPIO_PIN_9
#define DI_CH2_GPIO_Port GPIOC
#define USB_TX_Pin GPIO_PIN_9
#define USB_TX_GPIO_Port GPIOA
#define USB_RX_Pin GPIO_PIN_10
#define USB_RX_GPIO_Port GPIOA
#define DI_CH3_Pin GPIO_PIN_11
#define DI_CH3_GPIO_Port GPIOA
#define DI_CH4_Pin GPIO_PIN_12
#define DI_CH4_GPIO_Port GPIOA
//LCD串口引脚
// #define LCD_TX_Pin GPIO_PIN_10
// #define LCD_TX_GPIO_Port GPIOC
#define LCD_RX_Pin GPIO_PIN_11
#define LCD_RX_GPIO_Port GPIOC
//hart1发送引脚
//HART1复位引脚
//HART1时钟引脚
#define HART_CLK_Pin GPIO_PIN_15
#define HART_CLK_GPIO_Port GPIOA
#define HART1_RST_Pin GPIO_PIN_8
#define HART1_RST_GPIO_Port GPIOC
// #define HART1_TX_Pin GPIO_PIN_12
// #define HART1_TX_GPIO_Port GPIOC
#define HART_RTS_Pin GPIO_PIN_1
#define HART_RTS_GPIO_Port GPIOD
#define HART1_OCD_Pin GPIO_PIN_0
#define HART1_OCD_GPIO_Port GPIOD
#define HART1_OCD_EXTI_IRQn EXTI1_IRQn
#define HART1_RX_Pin GPIO_PIN_2
#define HART1_RX_GPIO_Port GPIOD
#define HART2_OCD_Pin GPIO_PIN_3
#define HART2_OCD_GPIO_Port GPIOD
#define HART2_OCD_EXTI_IRQn EXTI3_IRQn
#define HART2_RTS_Pin GPIO_PIN_4
#define HART2_RTS_GPIO_Port GPIOD
#define HART2_TX_Pin GPIO_PIN_5
#define HART2_TX_GPIO_Port GPIOD
#define HART2_RX_Pin GPIO_PIN_6
#define HART2_RX_GPIO_Port GPIOD
#define HART2_RST_Pin GPIO_PIN_7
#define HART2_RST_GPIO_Port GPIOD
//DAC161S997引脚定义
#define DAC1_CS_Pin GPIO_PIN_6
#define DAC1_CS_GPIO_Port GPIOB
#define DAC1_SCK_Pin GPIO_PIN_3
#define DAC1_SCK_GPIO_Port GPIOB
#define DAC1_MOSI_Pin GPIO_PIN_5
#define DAC1_MOSI_GPIO_Port GPIOB
#define DAC1_MISO_Pin GPIO_PIN_4
#define DAC1_MISO_GPIO_Port GPIOB
//DAC8568引脚定义
#define DAC8568_CS_Pin GPIO_PIN_15
#define DAC8568_CS_GPIO_Port GPIOD
#define DAC8568_SCLK_Pin GPIO_PIN_10
#define DAC8568_SCLK_GPIO_Port GPIOC
#define DAC8568_DIN_Pin GPIO_PIN_12
#define DAC8568_DIN_GPIO_Port GPIOC
#define DAC8568_LD_Pin GPIO_PIN_14
#define DAC8568_LD_GPIO_Port GPIOD
#define ADC_CS_Pin GPIO_PIN_0
#define ADC_CS_GPIO_Port GPIOE
/* PCBA测试盒AD7124同步信号引脚定义 */
#define AD7124_SYNC_Pin GPIO_PIN_13
#define AD7124_SYNC_GPIO_Port GPIOD
/* PCBA测试盒AD7124同步信号引脚定义 */
/* SPI2引脚定义 */
#define SPI2_SCK_Pin GPIO_PIN_10
#define SPI2_SCK_GPIO_Port GPIOB
#define SPI2_MISO_Pin GPIO_PIN_2
#define SPI2_MISO_GPIO_Port GPIOC
#define SPI2_MOSI_Pin GPIO_PIN_3
#define SPI2_MOSI_GPIO_Port GPIOC
#define SPI2_CS_Pin GPIO_PIN_10
#define SPI2_CS_GPIO_Port GPIOD
//背面的AD7124
#define SPI2_CS2_Pin GPIO_PIN_11
#define SPI2_CS2_GPIO_Port GPIOD
/* USER CODE BEGIN Private defines */
#define TRUE 0
#define FAIL -1
/* USER CODE END Private defines */
#ifdef __cplusplus
}
#endif
#endif /* __MAIN_H */