小华低功耗芯片HC32L110的一些基本功能的初始化和使用

本人刚刚入职,最近使用了华大家的芯片,国产芯片的一些初始化对于一些单片机的新玩家真的算是比较繁琐,有些注释写的也不太容易让人理解

所以我整理了一下官方的资料并加上自己写的一些功能以及额外的注释,如果有使用这款低功耗芯片的可以参考

首先是串口的初始化和使用

void Uart0_Init(void)
{
	uint16_t timer=0;
    uint32_t pclk=0;
	
    stc_uart_config_t  stcConfig;//定义串口结构体
    stc_uart_irq_cb_t stcUartIrqCb;//串口中断回调函数结构体
    stc_uart_multimode_t stcMulti;//串口多主机模式结构体
    stc_uart_baud_config_t stcBaud;//波特率配置结构体
    stc_bt_config_t stcBtConfig;//基础定时器配置结构体
    
		
    DDL_ZERO_STRUCT(stcUartIrqCb);//清空数据函数
    DDL_ZERO_STRUCT(stcMulti);
    DDL_ZERO_STRUCT(stcBaud);
    DDL_ZERO_STRUCT(stcBtConfig);

    

    Gpio_InitIOExt(0,1,GpioDirOut,FALSE,FALSE,FALSE,TRUE); //配置01引脚为输入模式RX
	Gpio_InitIOExt(0,2,GpioDirOut,FALSE,FALSE,FALSE,TRUE);//配置02引脚为输出模式TX
   
    //通道端口配置
	Gpio_SetFunc_UART0_RXD_P01();//RX输入	
	Gpio_SetFunc_UART0_TXD_P02();//TX输出

    //外设时钟使能
    Clk_SetPeripheralGate(ClkPeripheralBt,TRUE);//模式0/2可以不使能
    Clk_SetPeripheralGate(ClkPeripheralUart0,TRUE);//使能串口时钟



    stcUartIrqCb.pfnRxIrqCb = RxIntCallback;//设置接收中断函数
    stcUartIrqCb.pfnTxIrqCb = NULL;//设置发送中断为空
    stcUartIrqCb.pfnRxErrIrqCb = ErrIntCallback;//设置接收错误中断函数
    stcConfig.pstcIrqCb = &stcUartIrqCb;//将中断函数结构体指针赋值给串口配置
    stcConfig.bTouchNvic = TRUE;//NVIC中断控制器使能标志
  

    stcConfig.enRunMode = UartMode1;//测试项,更改此处来转换4种模式测试
   

    //stcMulti.enMulti_mode = UartNormal;//测试项,更改此处来转换多主机模式,mode2/3才有多主机模式

    stcConfig.pstcMultiMode = &stcMulti;//将中断回调函数结构体指针赋值给串口配置结构体

	stcBaud.bDbaud = 0u;//不使能
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值