嵌入式硬件通信接口协议-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管基本原理与应用案例》

图片新闻
最新活动更多
-
6月13日立即参评>> 【评选】维科杯·OFweek2025中国工业自动化及数字化行业年度评选
-
即日-6.16立即报名>> 【在线会议】olution Talks |Computex 2025关键趋势深读
-
7月22-29日立即报名>> 【线下论坛】第三届安富利汽车生态圈峰会
-
7.30-8.1火热报名中>> 全数会2025(第六届)机器人及智能工厂展
-
7月30-31日报名参会>>> 全数会2025中国激光产业高质量发展峰会
-
即日-2025.8.1立即下载>> 《2024智能制造产业高端化、智能化、绿色化发展蓝皮书》
推荐专题
- 1 数智破局·生态共生:重构全球制造新引擎 2025 WOD制造业数字化博览会即将在沪盛大启幕
- 2 智造赋能,生态共融:大联大携手产业伙伴,共绘新质工业宏伟蓝图
- 3 谁将成为行业榜样?维科杯·OFweek2025中国工业自动化及数字化行业年度评选等您来参与!
- 4 【重磅来袭】6月17日上海见!全球智造巨头聚首,60余场前沿论坛,制造业数字化盛会邀您共启数智破局之旅!
- 5 安森美正式参评“维科杯·OFweek 2025中国工业自动化与数字化行业优秀产品奖”
- 6 当数智工业邂逅大湾区,看PHIIDF2025如何破界,链动全球!
- 7 抢先解锁!全数会2025机器人及智能工厂展览会核心亮点速递
- 8 iEi威强电邀您共襄AIAE Expo 2025北京国际工业自动化盛会,探索智能工业新边界!
- 9 欧姆龙正式参评“维科杯·OFweek 2025中国工业自动化与数字化行业优秀产品奖”
- 10 世界计量日盛会启幕,聚焦测量体系变革:质量、效率与动力
发表评论
请输入评论内容...
请输入评论/评论长度6~500个字
暂无评论
暂无评论