STM32系列微控制器标准外设库简单介绍

2023-04-14 18:30   457   0  

ST为了普及旗下产品,发布包括标准外设库在内的众多支持软件,有效降低开发门槛。作者使用ST的标准外设库大概两年时间,在这里介绍何为外设库:


ee1e559e-ac54-11ed-bcd3-b8ca3a6cb5c4.webp


  1. 外设库,是支持片上外设的函数,数据结构和宏的集合。外设库的精髓在于初始化结构体和初始化函数的配合使用,把外设的各类工作参数赋予初始化结构体,然后调用初始化函数将这些参数写入外设寄存器,完成外设的初始化。

  2. 外设库提供大量的状态获取,中断控制等函数,它们进行必要的检查之后,再操作外设,安全高效。

  3. 在开发过程中,程序员会频繁地从某个外设接收数据或者向某个外设发送数据,介于此外设库把这些函数全部封装完毕,格式统一,便于使用。


针对初学者,以下几个地方易错:


  1. 启动文件和外设头文件里面的MCU选型不一致,它会导致中断编号附近的代码在编译时出现大量错误,如果是初学者,极难排查;

  2. 系统配置文件和外设头文件关于PLL参数与实际晶振频率不匹配,MCU可以正常运行,但是和频率(速度)有关外设会异常工作,例如串口;

  3. ST官方提供Demo开发板BSP,可以移植其中关于Flash,LCD等驱动,借鉴工程化的编程技巧。


作者在使用外设库编程之前一直进行寄存器编程,仅仅使用CMSIS规定的内核文件,系统配置文件,外设头文件,中断文件。对外设的初始化、控制,直接操作外设寄存器,刺激且惊险,无聊之际建议尝试;


使用外设库有利有弊,利在于提高开发效率,降低成本,程序具备较强的可读性,有利于后期的升级、维护;弊在于不能写出短小精悍的代码。




登录icspec成功后,会自动跳转查看全文
博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。