STM8S103固件库安装
注意这个固件的名字,STM8S的专属名字
众所周知,单片机的开发其实就是底层驱动的开发,就是控制寄存器的。随着MCU功能的强大,去配置每一个寄存器来开发的模式不太妙,毕竟不是每一款MCU的寄存器都像是51那么少的。那么就出来了固件库这样的开发模式,其实最底层也还是在配置寄存器,只不过是使用的时候是将寄存器打包处理了。就好像是库函数一样,实质上就是一种封装,没有什么神奇的地方
先按照STM8搜索
然后加后缀
https://www.stmcu.com.cn/Designresource/design_resource_detail/file/579594/lang/EN/token/d34272543e6d59d822f1f05c0b978abd
我们下载下来
解压过后是这样的
打开里面是一个网页,说明了更新的内容
chm的文件,我有点不爽。
反编译命令走起~
hh -decompile D:\浏览器下载\STSW_STM8069_V2.3.1\STM8S_StdPeriph_Lib D:\浏览器下载\STSW_STM8069_V2.3.1\STM8S_StdPeriph_Lib\stm8s-a_stdperiph_lib_um.chm
命令行(cmd),输入hh -decompile <输出文件夹路径> <要反编译的CHM文件全路径名>
就把chm文件变成了这样
一个一千多个
里面搜索index这个文件
就会吧1900个文件链接起来当一个整体使用
该库是一个固件软件包,其中包含例程,数据结构和宏的集合,这些例程,数据结构和宏涵盖了STM8S / A外设的功能。它包括设备驱动程序的说明以及每个外设的一组示例。固件库允许在用户应用程序中使用任何设备,而无需深入研究每个外设的规格。
使用标准外围设备库有两个优点:它节省了本来可以花费在编码上的大量时间,同时减少了应用程序开发和集成成本。
看看这个标准是什么
MISRA-C 2004在关键系统中使用C语言的准则,汽车工业软件可靠性协会
大家平时不在意这个相关的标准,其实是个误区
这种标准是强制的,硬性的,是性能的底线。
更是一种约束,是强约束,这种文件一定要研究。看懂看透
上表列出了代码中经常违反的MISRA-C 2004规则
中英文对照
命名约定
标准外围设备库使用以下命名约定:
PPP指的是任何外围设备的缩写,例如TIM2和TIM3。
系统和源/头文件名的前缀为“ stm8s_ ”。
一个文件中使用的常量在此文件中定义。头文件中定义了一个以上文件中使用的常量。所有常量均以大写形式编写。
寄存器被视为常量。他们的名字是大写的。在大多数情况下,使用与产品参考手册文档中相同的首字母缩写词。
外围功能的名称之前带有相应的外围首字母缩写词,大写字母后跟一个下划线。每个单词中的第一个字母均为大写,例如SPI_SendData。函数名称中仅允许使用一个下划线将外围设备首字母缩写与该函数名称的其余部分分开。
根据头文件中指定的参数初始化PPP外设的函数称为PPP_Init,例如TIM2_Init。
用于将PPP外设寄存器重置为其默认值的函数称为PPP_DeInit,例如TIM2_DeInit。
用于启用或禁用指定的PPP外设的函数名为PPP_Cmd,例如SPI_Cmd。
用于启用或禁用指定PPP外设的中断源的函数称为PPP_ITConfig,例如SPI_ITConfig。
用于配置外围功能的功能始终以字符串“ Config”结尾,例如 TIM2_ETRConfig
用于检查指定的PPP标志是否已设置或重置的函数称为PPP_GetFlagStatus,例如I2C_GetFlagStatus。
用于清除PPP标志的函数称为PPP_ClearFlag,例如I2C_ClearFlag。
用于检查指定的PPP中断是否发生的函数称为PPP_GetITStatus,例如TIM2_GetITStatus。
用于清除PPP中断暂挂位的函数称为PPP_ClearITPendingBit,例如TIM2_ClearITPendingBit。
先写到这里,后文写怎么使用~