修改驱动程序
This commit is contained in:
1 parent
063c3fcc07
commit
a69c1a58d6
39 files changed
+1627
-641
No files matched your search
+2
-2
@@ -89,8 +89,8 @@ void Error_Handler(void);
|
||||
#define DBG_TX_GPIO_Port GPIOA
|
||||
#define DBG_RX_Pin GPIO_PIN_3
|
||||
#define DBG_RX_GPIO_Port GPIOA
|
||||
#define DAC1_Pin GPIO_PIN_4
|
||||
#define DAC1_GPIO_Port GPIOA
|
||||
#define ETH_PW_Pin GPIO_PIN_4
|
||||
#define ETH_PW_GPIO_Port GPIOA
|
||||
#define DAC2_Pin GPIO_PIN_5
|
||||
#define DAC2_GPIO_Port GPIOA
|
||||
#define ADCPW_Pin GPIO_PIN_7
|
||||
|
||||
+7
-31
@@ -41,33 +41,9 @@ extern "C" {
|
||||
#define UART_TXE_IRQ 7
|
||||
|
||||
|
||||
#define LPUART_MAX_LENGTH 1200
|
||||
#define USART1_MAX_LENGTH 1200
|
||||
#define USART2_MAX_LENGTH 1200
|
||||
#define USART4_MAX_LENGTH 1200 //
|
||||
#define USART5_MAX_LENGTH 255
|
||||
|
||||
|
||||
typedef enum Uart_t{
|
||||
LpUart1 = 0,
|
||||
LpUart2 = 1,
|
||||
Uart1 = 2,
|
||||
Uart2 = 3,
|
||||
Uart3 = 4,
|
||||
Uart4 = 5,
|
||||
Uart5 = 6,
|
||||
Uart6 = 7,
|
||||
UartMax = 8,
|
||||
}Uart_t;
|
||||
|
||||
typedef struct UartBuff_t{
|
||||
char * rxBuf;
|
||||
uint16_t rxMaxLen;
|
||||
uint16_t rxLen;
|
||||
char * txBuf;
|
||||
uint16_t txMaxLen;
|
||||
uint16_t txLen;
|
||||
}UartBuff_t;
|
||||
|
||||
|
||||
/* USER CODE END Includes */
|
||||
@@ -102,13 +78,13 @@ void MX_USART5_UART_Init(void);
|
||||
void MX_USART6_UART_Init(void);
|
||||
|
||||
/* USER CODE BEGIN Prototypes */
|
||||
int dbg_printf (char* fmt, ...);
|
||||
extern void uart_SystemTick (void);
|
||||
extern int MX_UART_IsReady(Uart_t uart);
|
||||
extern int MX_UART_ReadData(Uart_t uart, char * buff, int maxLength);
|
||||
void MX_UART_Clear(Uart_t uart);
|
||||
void MX_UART_PutChar(Uart_t uart, char ch);
|
||||
void MX_UART_PutBuffer(Uart_t uart, char *buff,int size);
|
||||
|
||||
|
||||
//extern int MX_UART_IsReady(Uart_t uart);
|
||||
//extern int MX_UART_ReadData(Uart_t uart, char * buff, int maxLength);
|
||||
//void MX_UART_Clear(Uart_t uart);
|
||||
//void MX_UART_PutChar(Uart_t uart, char ch);
|
||||
//void MX_UART_PutBuffer(Uart_t uart, char *buff,int size);
|
||||
/* USER CODE END Prototypes */
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
+1
-1
@@ -39,7 +39,7 @@ void MX_CRC_Init(void)
|
||||
hcrc.Instance = CRC;
|
||||
hcrc.Init.DefaultPolynomialUse = DEFAULT_POLYNOMIAL_DISABLE;
|
||||
hcrc.Init.DefaultInitValueUse = DEFAULT_INIT_VALUE_DISABLE;
|
||||
hcrc.Init.GeneratingPolynomial = 7;
|
||||
hcrc.Init.GeneratingPolynomial = 0x8005;
|
||||
hcrc.Init.CRCLength = CRC_POLYLENGTH_16B;
|
||||
hcrc.Init.InitValue = 0xFFFF;
|
||||
hcrc.Init.InputDataInversionMode = CRC_INPUTDATA_INVERSION_BYTE;
|
||||
|
||||
+13
-13
@@ -38,7 +38,6 @@
|
||||
* Output
|
||||
* EVENT_OUT
|
||||
* EXTI
|
||||
PA4 ------> COMP_DAC11_group
|
||||
PA5 ------> COMP_DAC12_group
|
||||
*/
|
||||
void MX_GPIO_Init(void)
|
||||
@@ -57,6 +56,9 @@ void MX_GPIO_Init(void)
|
||||
/*Configure GPIO pin Output Level */
|
||||
HAL_GPIO_WritePin(ETH_RST_GPIO_Port, ETH_RST_Pin, GPIO_PIN_RESET);
|
||||
|
||||
/*Configure GPIO pin Output Level */
|
||||
HAL_GPIO_WritePin(GPIOA, ETH_PW_Pin|GSM_PW_Pin, GPIO_PIN_RESET);
|
||||
|
||||
/*Configure GPIO pin Output Level */
|
||||
HAL_GPIO_WritePin(GPIOB, U485_RT_Pin|LORA_TX_Pin|LORA_RX_Pin|SPI2_NSS_Pin, GPIO_PIN_RESET);
|
||||
|
||||
@@ -64,9 +66,6 @@ void MX_GPIO_Init(void)
|
||||
HAL_GPIO_WritePin(GPIOE, LORA_M1_Pin|RELAY1_Pin|RELAY2_Pin|S4851_RT_Pin
|
||||
|S4852_RT_Pin, GPIO_PIN_RESET);
|
||||
|
||||
/*Configure GPIO pin Output Level */
|
||||
HAL_GPIO_WritePin(GSM_PW_GPIO_Port, GSM_PW_Pin, GPIO_PIN_RESET);
|
||||
|
||||
/*Configure GPIO pin Output Level */
|
||||
HAL_GPIO_WritePin(GSM_RST_GPIO_Port, GSM_RST_Pin, GPIO_PIN_RESET);
|
||||
|
||||
@@ -84,10 +83,17 @@ void MX_GPIO_Init(void)
|
||||
HAL_GPIO_Init(ETH_STA_GPIO_Port, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pins : PAPin PAPin */
|
||||
GPIO_InitStruct.Pin = DAC1_Pin|DAC2_Pin;
|
||||
GPIO_InitStruct.Pin = ETH_PW_Pin|GSM_PW_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pin : PtPin */
|
||||
GPIO_InitStruct.Pin = DAC2_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
HAL_GPIO_Init(DAC2_GPIO_Port, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pins : PBPin PBPin PBPin PBPin */
|
||||
GPIO_InitStruct.Pin = U485_RT_Pin|LORA_TX_Pin|LORA_RX_Pin|SPI2_NSS_Pin;
|
||||
@@ -111,13 +117,6 @@ void MX_GPIO_Init(void)
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
HAL_GPIO_Init(LORA_DI0_GPIO_Port, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pin : PtPin */
|
||||
GPIO_InitStruct.Pin = GSM_PW_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
HAL_GPIO_Init(GSM_PW_GPIO_Port, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pin : PtPin */
|
||||
GPIO_InitStruct.Pin = GSM_RST_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
||||
@@ -131,6 +130,7 @@ void MX_GPIO_Init(void)
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
|
||||
|
||||
|
||||
}
|
||||
|
||||
/* USER CODE BEGIN 2 */
|
||||
|
||||
@@ -74,7 +74,7 @@ extern TIM_HandleTypeDef htim2;
|
||||
|
||||
/* USER CODE BEGIN EV */
|
||||
extern void MX_UART_IRQHandle (void);
|
||||
extern void uart_SystemTick (void);
|
||||
extern void MX_UART_TickHandle (void);
|
||||
//extern void main_Systick (void);
|
||||
/* USER CODE END EV */
|
||||
|
||||
@@ -153,7 +153,7 @@ void DMA1_Ch4_7_DMA2_Ch1_5_DMAMUX1_OVR_IRQHandler(void)
|
||||
void TIM2_IRQHandler(void)
|
||||
{
|
||||
/* USER CODE BEGIN TIM2_IRQn 0 */
|
||||
uart_SystemTick();
|
||||
MX_UART_TickHandle();
|
||||
//main_Systick();
|
||||
MX_IWDG_Reload();
|
||||
MX_WWDG_Relad();
|
||||
|
||||
+1
-119
@@ -24,21 +24,8 @@
|
||||
|
||||
|
||||
|
||||
__IO static uint32_t s_UartRecvTimer[UartMax] = {0, 0, 0, 0, 0, 0, 0, 0};
|
||||
// static USART_TypeDef *UARTInstance[UartMax] = {LPUART1, LPUART2, USART1, USART2, USART3, USART4, USART5, USART6};
|
||||
static char s_u2RxBuf[USART2_MAX_LENGTH];
|
||||
static char s_u4RxBuf[USART4_MAX_LENGTH];
|
||||
|
||||
UartBuff_t s_Ubuffer[UartMax];
|
||||
|
||||
void uart_SystemTick (void)
|
||||
{
|
||||
for (int i = 0; i < UartMax; i++)
|
||||
{
|
||||
if (s_UartRecvTimer[i] > 1)
|
||||
s_UartRecvTimer[i]--;
|
||||
}
|
||||
}
|
||||
|
||||
/* USER CODE END 0 */
|
||||
|
||||
@@ -191,8 +178,6 @@ void MX_USART2_UART_Init(void)
|
||||
|
||||
/* USER CODE BEGIN USART2_Init 0 */
|
||||
|
||||
s_Ubuffer[Uart2].rxBuf = s_u2RxBuf;
|
||||
s_Ubuffer[Uart2].rxMaxLen = USART2_MAX_LENGTH;
|
||||
/* USER CODE END USART2_Init 0 */
|
||||
|
||||
/* USER CODE BEGIN USART2_Init 1 */
|
||||
@@ -281,8 +266,6 @@ void MX_USART4_UART_Init(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN USART4_Init 0 */
|
||||
s_Ubuffer[Uart4].rxBuf = s_u4RxBuf;
|
||||
s_Ubuffer[Uart4].rxMaxLen = USART4_MAX_LENGTH;
|
||||
/* USER CODE END USART4_Init 0 */
|
||||
|
||||
/* USER CODE BEGIN USART4_Init 1 */
|
||||
@@ -625,7 +608,7 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
|
||||
*/
|
||||
GPIO_InitStruct.Pin = U485_TX_Pin|U485_RX_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
GPIO_InitStruct.Alternate = GPIO_AF8_USART5;
|
||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||
@@ -886,108 +869,7 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
|
||||
|
||||
/* USER CODE BEGIN 1 */
|
||||
|
||||
void MX_UART_IRQHandle (void)
|
||||
{
|
||||
uint8_t ret;
|
||||
if (USART2->ISR & (1 << 5))
|
||||
{
|
||||
ret = USART2->RDR;
|
||||
|
||||
if (s_Ubuffer[Uart2].rxBuf != NULL)
|
||||
{
|
||||
s_Ubuffer[Uart2].rxBuf[s_Ubuffer[Uart2].rxLen++] = ret;
|
||||
s_UartRecvTimer[Uart2] = 30;
|
||||
if (s_Ubuffer[Uart2].rxLen > s_Ubuffer[Uart2].rxMaxLen)
|
||||
s_Ubuffer[Uart2].rxLen = 0;
|
||||
}
|
||||
}
|
||||
if (USART4->ISR & (1 << 5))
|
||||
{
|
||||
ret = USART4->RDR;
|
||||
if (s_Ubuffer[Uart4].rxBuf != NULL)
|
||||
{
|
||||
s_Ubuffer[Uart4].rxBuf[s_Ubuffer[Uart4].rxLen++] = ret;
|
||||
s_UartRecvTimer[Uart4] = 30;
|
||||
if (s_Ubuffer[Uart4].rxLen > s_Ubuffer[Uart4].rxMaxLen)
|
||||
s_Ubuffer[Uart4].rxLen = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int MX_UART_IsReady (Uart_t uart)
|
||||
{
|
||||
uint32_t ret = s_UartRecvTimer[uart];
|
||||
return ret;
|
||||
}
|
||||
|
||||
void MX_UART_Clear (Uart_t uart)
|
||||
{
|
||||
s_UartRecvTimer[uart] = 0;
|
||||
s_Ubuffer[uart].rxLen = 0;
|
||||
}
|
||||
int MX_UART_ReadData (Uart_t uart, char *buff, int maxLength)
|
||||
{
|
||||
int length = 0;
|
||||
if (s_Ubuffer[uart].rxBuf != NULL)
|
||||
{
|
||||
length = (maxLength > s_Ubuffer[uart].rxLen) ? s_Ubuffer[uart].rxLen : maxLength;
|
||||
for (int i = 0; i < length; i++)
|
||||
{
|
||||
buff[i] = s_Ubuffer[uart].rxBuf[i];
|
||||
}
|
||||
}
|
||||
return length;
|
||||
}
|
||||
|
||||
void MX_UART_PutChar (Uart_t uart, char ch)
|
||||
{
|
||||
switch (uart)
|
||||
{
|
||||
case LpUart1:
|
||||
HAL_UART_Transmit (&hlpuart1, (uint8_t *) &ch, 1, 1000);
|
||||
break;
|
||||
case LpUart2:
|
||||
HAL_UART_Transmit (&hlpuart2, (uint8_t *) &ch, 1, 1000);
|
||||
break;
|
||||
case Uart1:
|
||||
HAL_UART_Transmit (&huart1, (uint8_t *) &ch, 1, 1000);
|
||||
break;
|
||||
case Uart2:
|
||||
HAL_UART_Transmit (&huart2, (uint8_t *) &ch, 1, 1000);
|
||||
break;
|
||||
case Uart3:
|
||||
HAL_UART_Transmit (&huart3, (uint8_t *) &ch, 1, 1000);
|
||||
break;
|
||||
case Uart4:
|
||||
HAL_UART_Transmit (&huart4, (uint8_t *) &ch, 1, 1000);
|
||||
break;
|
||||
case Uart5:
|
||||
HAL_UART_Transmit (&huart5, (uint8_t *) &ch, 1, 1000);
|
||||
break;
|
||||
case Uart6:
|
||||
HAL_UART_Transmit (&huart6, (uint8_t *) &ch, 1, 1000);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void MX_UART_PutBuffer (Uart_t uart, char *buff, int size)
|
||||
{
|
||||
for (int i = 0; i < size; i++)
|
||||
{
|
||||
MX_UART_PutChar (uart, buff[i]);
|
||||
}
|
||||
}
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
// ÖØ¶¨Òåfputcº¯Êý
|
||||
int fputc (int ch, FILE *f)
|
||||
{
|
||||
HAL_UART_Transmit (&huart2, (uint8_t *) &ch, 1, 2000);
|
||||
return ch;
|
||||
}
|
||||
|
||||
|
||||
/* USER CODE END 1 */
|
||||
Reference in new issue
Block a user