基于华大L170MCU的串口模块化程序编写-可完全替换华大库(兼容LPUART和UART)

/*.c文件*/

#include "hal_uart.h"

/******************************************************************************
钢铁侠出品
qq:1036839164
抖音号:202937710
本程序只供学习使用,未经作者许可,不得用于其它任何用途
版本:V1.0
版权所有,盗版必究。
绍兴科立新电子科技有限公司
All rights reserved
********************************************************************************
*/

#define HAL_UART_CLK_PCLK   (0u<<11)/*PCLK时钟*/
#define HAL_UART_CLK_XTL      (2u<<11)/*外部低速晶振*/
#define HAL_UART_CLK_RCL       (3u<<11)/*内部低速晶振*/

#define HAL_SAMPLE_CLK_DIV32 0U        /*模式0无效,模式1/3为16分频,模式2为32分频*/
#define HAL_SAMPLE_CLK_DIV16 0X200U    /*模式0无效,模式1/3为8分频,模式2为16分频*/
#define HAL_SAMPLE_CLK_DIV8 0X400U    /*模式0无效,模式1/3为4分频,模式2为8分频*/

#define HAL_UART_MODE0     0x00u        /*模式0*/
#define HAL_UART_MODE1     0x40u        /*模式1*/
#define HAL_UART_MODE2     0x80u        /*模式2*/
#define HAL_UART_MODE3     0xC0u        /*模式3*/

    
typedef struct 
{
    uint32_t                  sclk_sel;    /*传输时钟源选择*/
    uint32_t                   sclk_div_sel;/*采样分频选择 */
    uint32_t                 sclk;        /*sclk*/
    uint32_t                 baud_rate;   /* 波特率*/
} sUartBaudPara;

typedef struct 
{
    uint32_t           run_mode;         /*四种模式配置*/
    uint32_t        parity;     /*校验模式*/
    uint32_t           stop_bits;          /*停止位长度  */  
    sUartBaudPara   baud_para;      /*Mode1/3波特率配置 */                                                       
} sUartCfg;

static uint8_t UartTransmitSet(sHalUartTypeDef* uart_reg,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值