首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
已注销
发布于江西
关注
已关注
取消关注
mark
@嵌入式的小白:
分享下我工作后写的第一个驱动的经历,spi同eeprom通信
我大学学的硬件,但其实对这个兴趣不大,而且刚工作后,发现硬件貌似不适合我,就慢慢转嵌入式了,当时只有个C语言的基本,然后自学了STM32的一些东西,就大胆的去换工作,换到嵌入式软件了,换的还是比较顺利,当时还是很容易的找到个初级工程师的岗位,入职后,就要让我开始干活了。我那个项目用的是ATMEL的MCU,要和一个eeprom通过,eeprom存储了一些信息,我需要做的是编写好一个读eeprom和写eepro的接口,供别的同事调用,也就是咋们通常说的驱动,提供驱动EEPROM的接口,里面存啥数据我就不用关心的,当时硬件设计上MCU和eeprom之间的通信方式是spi接口(有的eeprom是采用iic的方式通信,具体器件具体对待啊)。1.因为软件上需要对spi引脚进行初始化,所有我先从硬件提供的原理图中找到spi对应的引脚信息,看了图,在结合mcu的手册,我知道了使用的引脚和使用的是那一组spi2.开始写代码,我已经有对应的引脚信息了,就开始进行引脚,时钟和spi的初始化,并配置了spi写操作对应的DMA和spi对操作对应的DMA引脚主要就是把默认的gpio配置成spi功能,除了这个之外,还有控制eeprom的其他管教,其中包括电源(MCU有一个电源使能引脚来对eeprom进行上电和掉电的操作),控制引脚HOLD(通过该引脚来暂停对设备的访问,这个时候除了片选脚,所有输入脚上的传输都会被忽略),该项目上因为spi上只接了一个设备eeprom,所有cs引脚默认生效,所以不用管这个脚了。spi初始化主要配置了工作模式(spi有4种工作模式),市场上的spi设备,一般都会支持两种模式,我们在配置时,配置成支持的模式即可。3.操作说明我当时用的那款eeprom内部有一个8bit的指令寄存器,这个是通过eeprom手册中查看到的,写驱动那肯定是先看手册啦,通过手册知道怎么控制对应的器件,才能写代码哦,从eeprom手册中,我还得知和eeprom通信时,CS脚必须拉低并且HOLD脚必须拉高。当然还有操作指令,这个指令时啥意思呢?就是说每一次操作前,我先给eeprom发送指令和要操作的eeprom对应的地址,eeprom就知道我接下来要干啥了,废话不多说,直接先看怎么读的吧4.spi读操作操作时,需要先上电,并拉低CS引脚(CS引脚操作可忽略,因为当时项目上一直为低),然后发送读指令,紧接着发送地址,之后对应地址上的数据就会通过MISO引脚返回给MCU了,MCU就获取到了这个地址上的数据,如果我还需要下一个地址的数据,那就让spi继续工作,eeprom收到sck信号后,就把下一个地址的数据继续通过MISO引脚发出来了。如下图就是读操作的时许图,图中我特别用红色框标准了3个重要的地址,第一个instruction就是发送的读指令,第二个红色框就是发送的需要操作的eeprom对应的地址,第三个红色框就是eeprom给返回来的数据,这个图里面就读了一个数据,读了一个数据后,CS引脚就拉高了。5.spi写操作在写之前,需要我先一下写使能,好多eeprom在写操作前,必须发送WREN指令设置写使能锁存位。然后才能进行写操作。写操作和读操作有点相似,都是先发送指令,然后发送对应的地址,然后后面跟着数据。这个时序图和上面写操作相似,但注意上面两幅图全部都是从从设备的角度考虑的,图中的SI和SO两个信号中的S指的就是slave的意思,所以在写操作时,写入的数据是从MCU发出给EEPROM的,所以SI信号线上应该有待写入EEPROM的数据Data Byte,对于读操作,数据是从EEPROM到MCU的,所以数据Data out是在SO信号线上的。6.地址扩展说明从上面读写操作的时序图中可以看出,每个图中的第2个红色方框中的地址是16bit的,但这个在不同的从设备中会有差异,有的芯片从设备是固定的16bit,有的是8bit,有的是16bit,对于16bit或者24bit的情况下,看注意看对应从设备手册,看发从地址时,是先发送高位还是先发送低位。7.压力测试这个是我个人习惯,通常情况下,都会进行压力测试,对于EEPROM来说,我做的压力测试,就是来回的读写比对,来查看代码的健壮性。8.写使能刚才在写操作部分,简单说了下写使能,实际上,这个写使能就相当于上锁了,这个锁是在写之前要设置,且在任何写操作内部执行完成前,该锁存位都必须置上,且写使能指令发送后,CS需要拉高,然后再进行写操作,要是不拉高就开始写操作,那么数据因写使能没有正确设置导致写的数据没有写入eeprom中。写指令时许图如下。上电默认情况下,是会复位写使能锁存位的,且我用的这款EEPROM,是在字节写,页写或者写状态寄存器之后,写使能锁存位都会复位,这也是一种写保护的措施吧,就是为了防止一些误操作。有写使能,就也有与之对应的反操作,称为写失能,其时序图如下9.经验分享有些SPI通信中,因为从设置就一个,有时候就不关心CS,比如就有些情况下一直拉低CS,这种从理论上说没问题,但假如有异常操作,cs又是拉低的,就相当于MCU和eeprom操作了,就算异常操作,但未必就能对的上上面说的写指令,或者读指令等其他指令,不过我个人习惯会在不用的时候拉高cs
点赞 9
评论 3
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
03-30 19:28
联想_运营_HR
看看WLB的厂子吧
早上9点半到公司 都没啥人,不打卡不考勤,六点下班或者六点半吃个加班餐下班都可,简直香爆了,想起之前实习时呆的公司,每天都是快10点下班,当时感觉自己入职扛不住这么大的压力肯定,还是得看你个人想选什么,钱多真的是必然加班累,普通人确实没有那么多双优选择 欢迎大家来联想一起做同事投递后岗位志愿是改不了的 大家谨慎点击投递哦!!收到简历速度超级快,我感觉今年比去年得热情还要高很多大家记得填写内推码,要手动填写哈 内推码:2025XZLMCZL联想集团2025校招&全球管培生GFL项目招聘 ❗两个项目可同时投递 且都只能投递一个,早投递早面试,各个专业均有合适的岗位【投递链接】ht...
联想公司氛围 260人发布
点赞
评论
收藏
分享
04-02 13:26
北京邮电大学 Java
27届毕业生找日常实习
本人双非本,北邮硕。 目前研一,正在找日常实习,掌握的技术栈如简历所示,想请教一下大家,这种程度能够的上中大厂的日常实习么,还是说需要继续沉淀一下技术。希望大家给一些建议和评价,大家可以随意发挥,本人不玻璃心。
点赞
评论
收藏
分享
02-14 21:33
华东师范大学 Java
26届0实习9本求拷打简历😇
想找个日常实习,最近几天老板直聘沟通了100多个了,就投出去10个简历,一个面试都没有😭😭。。。求大佬们帮看看简历,或者还有什么别的投递平台及方式,谢谢大佬们
虚闻松声:
继续投吧。 简历没啥问题。很优秀。 拙见:自我评价没什么意义;试试转向Agent开发、大模型应用;别死磕传统Java开发。 免费修改简历,就业咨询,欢迎私信交流。
点赞
评论
收藏
分享
03-21 08:46
已编辑
门头沟学院 C++
来自老板软件的截图
只写bug的程序媛:
本科能找到好的,真不建议读研,提前占坑比较好,本科找不到好的,也不建议读研,因为两三年之后压力只会更大
,唯一的解就是行业好起来
点赞
评论
收藏
分享
03-28 10:51
联想(北京)有限公司_产品与项目部_数据产品经理(准入职员工)
联想内推联想内推联想内推联想内推
庸俗的我从吃方面介绍下联想哈哈哈哈哈在北京的第一份实习是这么幸运 在这里的三个月每天都很充实很开心 而且联想真的不加班哈哈哈(划重点 两个饭堂真的超大,到现在也没把每个菜都试一次 虽然工位在东区,但是西区大大的落地窗实在是太吸引人啦!采光超级好!所以一有空就跑去西区吃饭 平时吃完饭喜欢在公司瞎溜达,逛到过很多新奇的区域! 比如公司会有很多开放工位,公共的那种,环境超好又新又干净!西区地下一层还有按摩室、理发美甲店、鲜花店、洗衣房、水果店等等,上周我就去剪了个头发哈哈哈,Tony剪得还蛮有层次感的~ 东区西区都有健身房,东区健身房的跑步机前面有个大大的落地窗,外面就是一大片的绿植,别提多...
联想公司氛围 260人发布
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
大三学生一个月速通百度
1.9W
2
...
滴滴网约车oc!
1.5W
3
...
Malaysia Daily|马来西亚的工作新体验
1.5W
4
...
这样做,暑期实习转正几率UP!UP!
1.4W
5
...
双非初见白月光之腾讯云智一面
1.2W
6
...
26暑期实习结束(总结帖)
1.1W
7
...
美团oc
9428
8
...
22岁英专女选择外派印尼 其实我不后悔
8576
9
...
你的简历当中,面试官只关注这几点!
8186
10
...
嵌入式找实习的经历
8107
创作者周榜
更多
正在热议
更多
#
美团求职进展汇总
#
1890657次浏览
17566人参与
#
你遇到过哪些神仙同事
#
58635次浏览
578人参与
#
滴滴求职进展汇总
#
163063次浏览
1623人参与
#
扒一扒那些奇葩实习经历
#
19478次浏览
590人参与
#
找工作有哪些冷知识
#
1989次浏览
52人参与
#
拼多多工作体验
#
13413次浏览
134人参与
#
面试时被问的最奇葩的问题
#
17745次浏览
100人参与
#
vivo工作体验
#
17876次浏览
114人参与
#
实习期间如何提升留用概率?
#
12584次浏览
211人参与
#
应届生简历当中,HR最关注哪些?
#
20365次浏览
192人参与
#
大家实习每天都在干啥
#
76773次浏览
490人参与
#
牛友投递互助,不漏校招机会
#
261474次浏览
3571人参与
#
机械人,说说你的烦心事
#
58074次浏览
792人参与
#
机械人避雷的岗位/公司
#
8862次浏览
49人参与
#
Offer比较,你最看重什么?
#
139434次浏览
882人参与
#
总结:哪家公司最喜欢泡池子
#
117860次浏览
425人参与
#
你的秋招简历被谁挂了?
#
245766次浏览
2692人参与
#
毕业季,你想好怎么跟生活对线了吗?
#
184315次浏览
3426人参与
#
你后悔选择现在的专业吗
#
75371次浏览
645人参与
#
宁德时代求职进展汇总
#
101275次浏览
616人参与
牛客网
牛客企业服务