Browse Source

添加串口接收相关代码

external_Interrupt
tianjialong 2 years ago
parent
commit
f10ad4f620
  1. 35
      MDK-ARM/LWIP.uvguix.29643
  2. 13
      usersrc/usermain.c
  3. 45
      usersrc/zport.c
  4. 14
      usersrc/zport.h

35
MDK-ARM/LWIP.uvguix.29643
File diff suppressed because it is too large
View File

13
usersrc/usermain.c

@ -68,6 +68,18 @@ static void onkey(zkey_t *key, zkey_state_t key_state)
}
}
/**
* @brief
*/
void port_mock_on_uart_rx(uart_t *uart)
{
//
if (uart->uarthandler == &DEBUG_UART)
{
printf("%c", uart->rxbuf);
}
}
void user_main()
{
printf("==============ethernet_sound_acquisition_card=============\r\n");
@ -77,6 +89,7 @@ void user_main()
udp_client_init();
config_init();
zkey_init(&s_key_module);
port_uart_start_all_uart_receive();
while (1)
{

45
usersrc/zport.c

@ -35,3 +35,48 @@ void port_do_debug_light_state(void)
HAL_GPIO_TogglePin(DEBUG_LIGHT_PORT, DEBUG_LIGHT_PIN);
}
}
/***********************************************************************************************************************
* *************************************************************************************************************** *
***********************************************************************************************************************/
static uart_t m_uarts[] = {
{&DEBUG_UART, 0}
// {&ENV_SENSOR_UART485, 0},
};
__weak void port_mock_on_uart_rx(uart_t *uart) {}
static void uarts_start_receive(uart_t *uart) { HAL_UART_Receive_IT(uart->uarthandler, &uart->rxbuf, 1); }
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
for (size_t i = 0; i < (sizeof(m_uarts) / sizeof(uart_t)); i++)
{
if (m_uarts[i].uarthandler == huart)
{
port_mock_on_uart_rx(&m_uarts[i]);
uarts_start_receive(&m_uarts[i]);
return;
}
}
}
void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart)
{
for (size_t i = 0; i < (sizeof(m_uarts) / sizeof(uart_t)); i++)
{
if (m_uarts[i].uarthandler == huart)
{
uarts_start_receive(&m_uarts[i]);
return;
}
}
}
// export
void port_uart_start_all_uart_receive(void)
{
for (size_t i = 0; i < (sizeof(m_uarts) / sizeof(uart_t)); i++)
{
uarts_start_receive(&m_uarts[i]);
}
}

14
usersrc/zport.h

@ -2,7 +2,7 @@
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include "main.h"
#include "usart.h"
uint32_t sys_haspassedms(uint32_t ticket);
@ -11,3 +11,15 @@ uint32_t sys_haspassedms(uint32_t ticket);
* ========================================================================================================= *
***********************************************************************************************************************/
void port_do_debug_light_state(void);
/***********************************************************************************************************************
* *************************************************************************************************************** *
***********************************************************************************************************************/
typedef struct
{
UART_HandleTypeDef *uarthandler;
uint8_t rxbuf;
} uart_t;
void port_mock_on_uart_rx(uart_t *uart);
void port_uart_start_all_uart_receive(void);
Loading…
Cancel
Save