## 嵌入式系统通用驱动程序接口及其实现-SPI驱动程序
* 此接口为具体项目中: 需要SPI通讯时,提供统一的操作函数。
### 文件说明:
* SpiDev.h:Spi多例化统一接口
* 各MCU实现:
+ SpiDev_Lpc_ARM 在NXP LPC硬件SPI上的实现
+ SpiDev_Avr: 在AVR上的实现
+ SpiDev_Pic: 在PIC16F19系列上的实现
+ SpiDev_Soft: 使用IO模拟时的实现。
* Sip_Cs1: 各MCU对应实现中的片选控制,仅1个设备时
### 软件结构说明:
此接口含以下几大部分
* SPI设备驱动程序部分:
+ **SPI通用操作接口:** 即对外接口调用文件:**SpiDev.h** ,其它软件部分操作SPI时,**包含此文件即可**。
+ **SPI操作接口的各种实现:** 以*SpiDev(下横线_)SPI硬件名称(或载体)(下横线_)专用编译环境(可选,严重不建议代码与编译环境相关连)*命名, 与具体使用的SPI硬件的接口有关,即有各种不同的实现。但一种硬件仅实现一次,项目中需要那个加入那个即可,具有通用性(*实现时需尽量排除编译器影响,使一个SPI驱动的实现能在各种编译器里运行*)。
* SPI设备实例化部分-通用接口:
+ **SPI通用实例化接口:** 即对外接口调用文件:**Spi.h** ,其它软件部分需要具体Spi设备时,**包含此文件即可**。
+ **SPI操作接口的各种实现:** 以*Spi(下横线_)Spi硬件名称(或载体)(下横线_)专用编译环境(可选,严重不建议代码与编译环境相关连)*命名, 与具体使用的SPI硬件有关,即有各种不同的实现。但一种硬件仅实现一次,项目中需要那个加入那个即可,具有通用性(*实现时需尽量排除编译器影响,使一个SPI驱动的实现能在各种编译器里运行*)。
* SPI设备实例化部分-通用单SPI硬件设备+单片选专用:
+ **SPI设备实例化部分-单例SPI硬件设备+单片选(定义为SpiCs)专用接口:** 即对外接口调用文件:**Spi_Cs1.h** ,其它软件部分需要具体Spi设备时,**包含此文件即可**。
+ **Spi_Cs1操作接口的各种实现:** 以*Spi_Cs1(下横线_)Spi硬件名称(或载体)(下横线_)专用编译环境(可选,严重不建议代码与编译环境相关连)*命名, 与具体使用的SPI硬件有关,即有各种不同的实现。但一种硬件仅实现一次,项目中需要那个加入那个即可,具有通用性(*实现时需尽量排除编译器影响,使一个SPI驱动的实现能在各种编译器里运行*)。
####使用说明:
* SpiDev部分:
+ 1.根据项目嵌入式硬件不同,将SpiDev.h和**与项目对应的**的具体实现文件。增加到开发环境中。
+ 2.(此步可选) 查看具体实现文件文件内,是否有“编译选项”部分,若有,根据“编译选项”提示,在系统预编译头文件中增加相应配置。**为保证SpiDev实现文件的通用性,严禁对此实现做任何的改动**(BUG或提升功能与性能除外),若有不适用性,请复制后,包含复制文件进行操作。
* SPI设备实例化部分(含通用与专用实现,根据情况包含其中之一):
+ 1.根据项目嵌入式硬件不同,将Spi.h(或Spi_Cs1)和**与项目对应的**的具体实现文件。增加到开发环境中。
+ 2.(此步可选) 查看Spi项目内实现文件文件内,是否有“编译选项”部分,若有,根据“编译选项”提示,在系统预编译头文件中增加相应配置。**为保证Spi.h通用性,严禁对此实现做任何的改动**(BUG或提升功能与性能除外),若有不适用性,请复制后,包含复制文件进行操作。
####目录结构组织:
* **小型项目时**: 即不区分组件层,放在“项目源文件目录\Spi”下,内部不再有子目录
* **大中型项目时**: 区分组件层,放在“项目源文件目录\components\Spi”下,若项目很多,且同一项目也有较多实现时,可将具体实现文件放在此目录“项目名称”目录下,以实现分类存放。
程序媛小y
- 粉丝: 5626
- 资源: 213
最新资源
- MTK BT认证测试,工具说明
- ubuntu系统,Qt结合opencv开发相关内容,本人操作过程中遇到问题及解答方案
- E000627美妆美甲医学美容医院类网站模板.zip+PHP+Mysql+易优CMS+建站模板
- 玉米识别数据集 yolov11格式标注,5647张图,可精准识别玉米粒,正确识别率达到99.6%,用于识别检测玉米粒个数统计,或识别是否包含玉米
- 玉米识别数据集 yolov9格式标注,5647张图,可精准识别玉米粒,正确识别率达到99.6%,用于识别检测玉米粒个数统计,或识别是否包含玉米
- 《机器学习实战》-机器学习领域的Python实践指南:涵盖基础理论与实战项目
- 机械设计铭牌气动打标机sw16可编辑全套技术资料100%好用.zip
- 机械设计密码门锁翻盖疲劳测试sw17可编辑全套技术资料100%好用.zip
- FreeModbus协议栈从入门到精通,含STM32+FreeRTOS主站、从站例程DEMO,注释详尽
- chrome插件 可以将一张图片分割成任意等份
- 德普微一级代理 DP5201AA DFN 2*2-6L, 1节锂电池用二合一保护
- 德普微一级代理 DP5201AB DFN 2*2-6L 1节锂电池用二合一保护
- 神卓S700异地组网设备的监控互联解决方案及其应用
- 德普微一级代理 DP5201BA DFN 2*2-6L 1节锂电池用二合一保护
- 德普微一级代理 DP5201DCA DFN1*1 1节锂离子/锂聚合物电池保护芯片(集成功率 MOS)
- 蓝桥杯嵌入式赛点资源包
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈