嵌入式硬件通信接口协议-SPI(二)分层架构设计模拟接口
其中用到的管脚定义,是在完成原理图或者完成原型机验证时,基本就确定了管脚的使用,因此管脚的定义一般的都是放在BSP层的头文件中。这样更便于移植和开发。
数据发送时,先写发送一个字节的数据,数据是“踩”着SPI接口时钟信号SCLK的“节拍”逐个bit位发送出去,因此在发送数据的时候也是需要主机操作时钟信号SCLK和数据信号MOSI:
SPI的数据发送接口dcbsp_spi_sendbyte函数实现了将1个字节的数据通过GPIO输出,实现了SPI接口的时序,其中关键的是SCLK信号输出、1字节数据的移位输出、SCLK信号做延时输出脉冲。
而发送多数据的接口就可以采用dcbsp_spi_sendbyte函数来逐字节发送完成。
另外接收数据的接口,同样参考着字节发送接口的思路,数据的接收过程也是“踩”着SPI接口时钟信号SCLK的“节拍”逐个bit位传输,这个过程主机继续提供SCLK,然后读取MISO信号的电平,再将读到的电平逐bit缓存在一个变量里:
就这样,利用GPIO进行电平的输出的读取,实现了SPI接口的部分时序。这些接口的内部实现过程,因人而异、因平台变化而微调,但是对外接口不动,对上层应用来说,这就是同一个接口同一个东西,上层的应用层程序改动就很小了。
对于每次移植,BSP层提供了一定架构接口,层次清晰改动小,所以对于一个嵌入式开发者而言,写好BSP层也很重要。
总结,本文主要想分享的是设计嵌入式软件时,分出BSP层,作为应用和驱动的中间层,以便于在项目移植过程中,应用的完美匹配。文中的代码未完,关于驱动类的代码,其执行结果必须在示波器等仪器下观测,仍需确认执行的效率和时序的实现效果!
关于模拟SPI的BSP层完善的设计,敬请期待后文更新!
★★★★★推荐文章
《嵌入式硬件通信接口-使用RingBuffer处理数据(二)详细设计过程》
《嵌入式硬件通信接口-使用RingBuffer处理数据(一)》
《【嵌入式编程】平台大小端存储差异解决办法》
《快速开发MQTT(一)电子工程师眼中的MQTT》
《快速开发MQTT(二)初识MQTT》
《MQTT客户端搭建-最清晰的MQTT协议架构》
《MQTT服务端搭建-最快方式验证自己开发的客户端》
★★★★★相似文章
《嵌入式硬件通信接口协议-UART(五)数据包设计与解析》
《嵌入式硬件通信接口协议-UART(四)设计起止式的应用层协议》
《嵌入式硬件通信接口协议-UART(三)快速使用串口及应用》
《嵌入式硬件通信接口协议-UART(二)不同电气规范下的标准》
《嵌入式硬件通信接口协议-UART(一)协议基础》
《嵌入式硬件通信接口协议-SPI(一)协议基础》
★★★★★扩展阅读
《【硬件电路】AltiumDesigner18规则检查含义》
《【硬件电路】N沟道、P沟道MOS管基本原理与应用案例》
图片新闻
最新活动更多
-
11月22日立即报名>> 【线下论坛】华邦电子与莱迪思联合技术论坛
-
即日-11.30免费预约申请>>> 燧石技术-红外热成像系列产品试用活动
-
11月30日立即试用>> 【有奖试用】爱德克IDEC-九大王牌安全产品
-
即日-12.26火热报名中>> OFweek2024中国智造CIO在线峰会
-
限时免费下载立即下载 >>> 2024“机器人+”行业应用创新发展蓝皮书
-
即日-2025.8.1立即下载>> 《2024智能制造产业高端化、智能化、绿色化发展蓝皮书》
推荐专题
- 1 同源共创 模式革新 | 华天软件皇冠CAD(CrownCAD)2025新品发布会圆满举行
- 2 上海国际嵌入式展暨大会(embedded world China )与多家国际知名项目达成合作
- 3 iEi威强电新品丨IMBA-AM5:工业计算的强劲引擎
- 4 史上首次,大众终于熬不住开启40亿降本计划!关3个工厂,裁员万名...
- 5 守护绿色学习空间,EK超低温热泵服务对外经济贸易大学图书馆
- 6 颜值高 有“门”道|贝特威汽车门板内饰AI视觉检测解决方案
- 7 观众登记启动 优解制造未来,锁定2025 ITES深圳工业展
- 8 “秸”尽全力,防患未“燃” | 秸秆焚烧智能监控解决方案
- 9 揭秘:「全球知名跨境电商」构建核心竞争力的“独门绝技”是?
- 10 3大场景解读 | 红外热像仪赋能科研智造创新应用
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论