uint32头文件_如何写单片机寄存器头文件,寄存器如何定义访问

做单片机开发久了,发现用的单片机也多,现在每个厂家都提供对应的库以方便加快客户的开发。但是总是有那么一些人,不习惯用官方的库,因为厂家太多,每家写代码的规范都不一样,A厂的单片机是一个规范,B厂的单片机可能又是一个规范,C厂的又会是其他的规范,这样看起来就有点头大了。对于我们这种习惯了使用寄存器开发的老鸟,我有时候就干脆不用官方的头文件,自己定义头文件,统一规范。又由于一般写单片机程序还都是要看寄存器用户手册的,于是干脆自己动手写头文件吧,而且我发现自己定义寄存器相关头文件,可以更加深刻的了解单片机。

下面以MM32L0xx系列单片机的UART模块为例进行介绍。

首先我们根据寄存器用户手册的UART模块的寄存器概况,定义一个UART类型struct UartType,然后定义好模块访问指针pstUart1和pstUart1 如下:

b67fdf09d395de1220928d617ec110d5.png

MM32L0xx系列单片机UART寄存器概览

/**MM32L0xx串口硬件寄存器定义*/struct UartType{  __IO uint32_t vuiTdr;  __I  uint32_t vuiRdr;  __I  uint32_t vuiCsr;  __I  uint32_t vuiIsr;  __IO uint32_t vuiIer;  __O  uint32_t vuiIcr;  __IO uint32_t vuiGcr;  __IO uint32_t vuiCcr;  __IO uint32_t vuiBrr;  __IO uint32_t vuiFra;//  __IO uint32_t vuiRxAddr;//  __IO uint32_t vuiRxMask;//  __IO uint32_t vuiScr;};/** 操作MM32L0xx串口硬件的指针*/#define pstUart1    ((struct UartType *) DE_Uart1BaseAddress)#define pstUart2    ((struct UartType *) DE_Uart2BaseAddress)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值