Слияние кода завершено, страница обновится автоматически
#include "b_config.h"
#include "hal/inc/b_hal_uart.h"
#if !defined(HK32F103C8XX) && !defined(HK32F103CBXX) && !defined(HK32F103R8XX) && \
!defined(HK32F103RBXX) && !defined(HK32F103V8XX) && !defined(HK32F103VBXX) && \
!defined(HK32F103RCXX) && !defined(HK32F103RDXX) && !defined(HK32F103REXX) && \
!defined(HK32F103VCXX) && !defined(HK32F103VDXX) && !defined(HK32F103VEXX)
#error \
"Please select first the target HK32F10x device used in your application (in HK32f10x.h file)"
#else
#include "hk32f10x.h"
static USART_TypeDef *bMcuUartTable[] = {USART1, USART2, USART3, UART4, UART5};
int bMcuUartSend(bHalUartNumber_t uart, const uint8_t *pbuf, uint16_t len)
{
if (uart <= B_HAL_UART_5)
{
for (int i = 0; i < len; i++)
{
while (USART_GetFlagStatus(bMcuUartTable[uart], USART_FLAG_TXE) != SET)
;
USART_SendData(bMcuUartTable[uart], pbuf[i]);
}
return 0;
}
return -1;
}
int bMcuUartReceiveDma(bHalUartNumber_t uart, bHalDmaConfig_t *pconf)
{
if ((uart > B_HAL_UART_3) || pconf == NULL)
{
return -1;
}
if (uart == B_HAL_UART_1)
{
pconf->request = B_DMA_REQ_UART1_RX;
}
else if (uart == B_HAL_UART_2)
{
pconf->request = B_DMA_REQ_UART2_RX;
}
else if (uart == B_HAL_UART_3)
{
pconf->request = B_DMA_REQ_UART3_RX;
}
USART_DMACmd(bMcuUartTable[uart], USART_DMAReq_Rx, ENABLE);
pconf->src = (uint32_t)(&(bMcuUartTable[uart]->DR));
return bMcuDmaConfig(pconf);
}
#endif
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарий ( 0 )