STM32F429第十三篇之stm32f4xx_hal_uart
发布日期:2021-05-14 11:31:25 浏览次数:18 分类:精选文章

本文共 3745 字,大约阅读时间需要 12 分钟。

STM32F429 UART ������ ������ ��� ������������


1. ������

���������������������STM32F429������������UART�������������� sudden���������������������������������������HAL���������UART���������������


2. ���������

2.1 ������������

UART_HandleTypeDef huart;

2.2 ���������������

HAL_UART_Init(&huart);

���������������������

  • BaudRate��������������������� Formula: IntegerDivider = (PCLK / (8 * (OVR8 + 1)))
  • WordLength������������������������������8������9������
  • StopBits������������������������������1���������������
  • Parity������������������������������������������������������������������������
  • Mode������������������������������������������������������������
  • HwFlowCtl���������������������������������������������������������
  • OverSampling���������������������������������8������16������

3. UART ������

3.1 ������������

// ������������
HAL_UART_Transmit(&huart, pData, Size, Timeout);
// ������������
HAL_UART_Receive(&huart, pData, Size, Timeout);

3.2 ������������

// ������������������
HAL_UART_EnableIT(&huart);
// ������������������������
HAL_UART_TxCpltCallback(&huart);
// ������������������������
HAL_UART_RxCpltCallback(&huart);
// ������������������
HAL_UART_ErrorCallback(&huart);

3.3 DMA������

// ������DMA������
HAL_UART_Transmit_DMA(&huart, pData, Size);
// ������������������������������
HAL_UART_TxHalfCpltCallback(&huart);
// ������������������������
HAL_UART_TxCpltCallback(&huart);
// ������DMA������
HAL_UART_Receive_DMA(&huart, pData, Size);
// ������������������������������
HAL_UART_RxHalfCpltCallback(&huart);
// ������������������������
HAL_UART_RxCpltCallback(&huart);

4. ���������������

  • __HAL_UART_ENABLE���������UART
  • __HAL_UART_DISABLE���������UART
  • __HAL_UART_GET_FLAG���������UART���������������
  • __HAL_UART_CLEAR_FLAG���������UART���������������
  • __HAL_UART_ENABLE_IT���������������
  • __HAL_UART_DISABLE_IT���������������

5. ������������

5.1 ���������������

HAL_StatusTypeDef HAL_UART_Init(UART_HandleTypeDef *huart)

������������

  • huart���������UART���������������UART���������������

������

  • HAL_OK������������������
  • ������������������������������������

5.2 ������������������

void HAL_UART_IRQHandler(UART_HandleTypeDef *huart)

6. ���������������

6.1 HAL_StatusTypeDef

typedef enum {
HAL_OK = 0x00,
HAL_ERROR = 0x01,
HAL_BUSY = 0x02,
HAL_TIMEOUT = 0x03
} HAL_StatusTypeDef;

6.2 UART_HandleTypeDef

typedef struct {
USART_TypeDef *Instance; /* UART������������������ */
UART_InitTypeDef Init; /* UART������������ */
uint8_t *pTxBuffPtr; /* ��������������������� */
uint16_t TxXferSize; /* ������������������������ */
uint16_t TxXferCount; /* ��������������������������� */
uint8_t *pRxBuffPtr; /* ��������������������� */
uint16_t RxXferSize; /* ��������������������� */
uint16_t RxXferCount; /* ������������������������ */
DMA_HandleTypeDef *hdmatx; /* sends���DMA������ */
DMA_HandleTypeDef *hdmarx; /* ���������DMA������ */
HAL_LockTypeDef Lock; /* ������������ */
HAL_UART_StateTypeDef gState; /* ������������ */
uint32_t ErrorCode; /* ������������ */
} UART_HandleTypeDef;

6.3 UART_InitTypeDef

typedef struct {
uint32_t BaudRate; /* ��������� */
uint32_t WordLength; /* ������ */
uint32_t StopBits; /* ��������� */
uint32_t Parity; /* ��������� */
uint32_t Mode; /* ������ */
uint32_t HwFlowCtl; /* ��������������� */
uint32_t OverSampling; /* ��������������� */
} UART_InitTypeDef;

7. ������

STM32F429���UART������������������������������������������������������������������DMA������������������������������������������������������������������������������������������������������������������������������������������

上一篇:STM32F429第十四篇之串口实验详解
下一篇:STM32CubeMX第二篇之跑马灯

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月19日 05时27分03秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章