首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客169381571号
广东工业大学 嵌入式工程师
发布于四川
关注
已关注
取消关注
@Hcoco:
面试真题 | 浙江大华
大华一面 嵌入式 主要是问的项目相关 标准的十五分钟 电话面 这个面试官主要问项目,我同门面的全问八股,可能面试官不一样吧 @[toc] 话说很多硬件终端、军工研究所都很喜欢考通信协议相关的知识。 往期内容:ARM/Linux嵌入式面经z专栏 UART串口通信的波特率,常用波特率有哪些 UART(Universal Asynchronous Receiver / Transmitter)是一种异步数据传输技术,它使用特定的波特率来传输数据。UART波特率是指每秒传输的数据位数,也称为波特率或传输速率。 UART波特率有多种,其中最常用的是2400、4800、9600、19200、38400、57600、115200。 串口通信校验方式是什么,有什么区别 利用串口传输数据时,近距离传输还好,远距离传输由于线路长度影响,可能会使信号在传输过程中出现不可预知的错误,为了达到通信的稳定性,在远距离通信时一般要引入一种校验方式来去除干扰。 这里主要介绍几种常见的校验方式,也是我们串口通讯板子上需要添加的几种校验方式。 即奇校验ODD,偶校验EVEN,累加和校验,CRC循环码冗余码校验 方便简单的奇偶校验 奇偶校验需要一位校验位,即使用串口通信的方式2或方式3(8位数据位+1位校验位)。 奇校验(odd parity):让传输的数据(包含校验位)中1的个数为奇数。 即:如果传输字节中1的个数是偶数,则校验位为“1”,奇数相反。 以发送字符:10101010为例 偶校验(even parity) 让传输的数据(包含校验位)中1的个数为偶数。 即:如果传输字节中1的个数是偶数,则校验位为“0”,奇数相反。 还是以发送字符:10101010为例 数据和校验位发送给接受方后,接收方再次对数据中1的个数进行计算,如果为奇数则校验通过,表示此次传输过程未发生错误。如果不是奇数,则表示有错误发生,此时接收方可以向发送方发送请求,要求重新发送一遍数据。 优缺点: 奇偶校验的检错率只有50%,因为只有奇数个数据位发生变化能检测到,如果偶数个数据位发生变化则无能为力了╮(╯﹏╰)╭ 奇偶校验每传输一个字节都需要加一位校验位,对传输效率影响很大。 奇偶校验只能发现错误,但不能纠正错误,也就是说它只能告诉你出错了,但不能告诉你怎么出错了,一旦发现错误,只好重发。 虽然奇偶校验有很多缺点,但因为其使用起来十分简单,故目前仍被广泛使用。 应用: 如何用编程确定一个字节中“1”个数的奇偶性?我们可以利用二进制数相加的特点: 0+0=0、1+0=1、1+1=0 可以看出,如果我们将一个字节的所有位相加 有奇数个“1”的字节的和为1 +有偶数个“1”的字节的和为0 由此即可通过编程完成判断。实际应用中,实现方法很多,但这是相对简单的一种,这里不再赘述。 累加和校验 所谓的累加和校验有很多种,最常见的一种是在每次通信数据包最后都加一个字节的校验数据,这个校验字节里的数据是通信数据包里所有数据的不进位累加和。例如: 接收方接收到数据后同样对一个数据包的数据进行不进位累加和计算,如果累加出的结果与校验位相同的话就认为传输的数据没有错误。 优缺点: 实现起来方便简单,被广泛运用。 检错率一般,例如一个字节多1,一个字节少1,则会出现误判。 和奇偶校验一样,只能发现错误,但不能纠正错误。 另外,累加和校验的数据传输格式可以表示为:通讯数据+校验数据。这与我们之后要说的CRC循环冗余码校验是相同的。 虽然奇偶校验和累加和校验使用方便,应用广泛,但由于其存在许多缺点,在一些使用场合下很难满足要求,于是就有了更稳定更强大的校验方式,它就是……CRC循环冗余码校验! CRC循环冗余码校验 CRC 即 Cyclic Redundancy Check 的缩写 CRC 循环冗余校验属于检错码,只能检测出现了错误,但无法纠正错误。 与CRC循环冗余校验类似的,还有奇/偶校验,但是 CRC 漏检率更低,因此在实际应用中更为重要 发送方对原始数据追加校验码 假设原始数据是:101001 生成待追加的校验码,需要使用一个生成多项式,G(x)(收发双方事先约定),例如 G(x) = x3 + x2 + 1 构造被除数:原始数据 + 生成多项式最高次项个0,即:101001000 除数:除数实际上就是生成多项式的系数,G(x) 展开得到: G(x) = 1 * x3 + 1 * x2 + 0 * x1 + 1 * x0,即 1101 两数相除得余数,并进行补位(补到与生成多项式最高次项一致),即得到校验码。但是,这里的除法跟常规除法并不相同 常规除法在上下两行数进行运算时,使用的是减法运算,而这里使用的是异或 接收方对收到的数据进行校验 继续接前文,假设收到的数据为 101001001 接收方对该数据做除法,除数仍然是之前使用的多项式的系数 1101 过程如下 若余数为0,则表示未出错 假设,接收方收到的数据出现了错误: 101101001,校验过程如下: 余数不为0,则表示传输过程中出现了错误 结语 计算CRC校验码时,用到的除法运算,内部使用的是异或运算而非减法运算 计算出余数后,还要对其进行补位,才能得到最终使用的校验码 在计算机网络中,数据链路层将数据封装成帧时,会在帧尾添加校验码,从而判断数据在传输过程中是否发生错误 在实际使用CRC时,采用的生成多项式更为复杂,从而确保较低的漏检率 另外,生成多项式的常数项必须是1 参考资料: https://blog.csdn.net/TL18382950497/article/details/113794438 https://zhuanlan.zhihu.com/p/29693940 有校验位和无校验位的区别 iic收发数据的流程 IIC 即 inter-integrated-circuit,又称 I2C 一种总线结构,具体接受请度娘。 I2C串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。 以下为mini2440的IIC设备:AT24C08 IIC遵从 主/从结构,通信由主机发起,并且由主机结束。 开始信号(s):当时钟信号处于高电平,向数据信号线发送下降沿。 结束信号(p):当时钟信号处于高电平,向数据信号线发送上升沿。 由于IIC总线上可能连有多个设备,因此我们应该在开始信号后进行设备选择,也就是发送地址信号,当设备收到符合自己地址的信号后会返回响应。 一般地址位宽为7位,而发送的数据位为8位,除了7位地址,剩下的一位为读写位。 如果为写,则在设备返回ack信号后,接着主机发送8位数据,当设备收到数据后,设备返回ack信号。 如果为读,则在设备返回ack信号后,接着设备返回8位数据,当主机接收到信号后,接下来的ack信号就由主机发送。 Data Transferred段周而复始,直到数据传输完成。 而在主机发送(R)或者接受(W)到ack信号后,会产生中断,我们可以在中断处理程序中对数据进行进一步处理,或者在中断处理程序内继续发送/接收数据。 当传输完成后, 如果主机作为数据发送方,可以发送停止信号,终止IIC传输过程。 如果主机作为数据接收方,可以不发送响应信号ack,终止传输过程。 寄存器配置: 根据芯片手册,IICCON用于初始化,其余用于数据传输的相关操作。 IICCON: IIC控制寄存器 IICDS: IIC数据移位寄存器 IICSTAT: IIC状态寄存器 IICADD: IIC地址寄存器 流程如下 主机发送流程: 主机接收流程: 设备发送流程: 设备接收流程: 另外,对于AT24C08,值得注意的是,该设备是先进行地址选择(非IIC设备的地址选择,而是AT24C08内部的地址选择),然后进行数据读
点赞 5
评论 3
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
07-22 15:11
杭州电子科技大学 Web前端
普本有必要投提前批吗?
我看牛客里各种大神都是被挂,是不是提前批我普本不配参加啊?如果真是这样,我就不努力了,等等再投也行?
26届校招投递进展
点赞
评论
收藏
分享
07-24 15:22
门头沟学院 Java
腾讯后端开了
怎么收到的短信啊?我怎么还没有短信呢
点赞
评论
收藏
分享
06-11 17:39
门头沟学院 Java
已破防,
小呆呆的大鼻涕:
卧槽,用户彻底怒了
点赞
评论
收藏
分享
06-12 16:23
已编辑
小米_软件开发
小米
毕业前一周才收到,准备去小米了😁😁
玄静就是神:
不赖,等着吃苦吧
小米求职进展汇总
点赞
评论
收藏
分享
07-21 09:33
门头沟学院 客户端其它
再强调一遍!秋招不要装逼
直接上结论:不懂装懂 == 装逼相信26届的小伙伴们都在如火如荼的准备即将到来的秋招,给各位同学提个醒,面试的时候,如果面试官问你的问题,你确实没学过,那么就不要瞎扯犊子,你不会天真的认为面试官他不知道这个东西,等你给他科普吧。如果不信邪硬要尝试就会发生以下情况。------------------------------面试官:“我看你简历上说‘熟悉分布式系统’”,那我问你个相关问题吧,假设一个网络特别慢(一条消息可能几分钟才到),里面还有几个故意搞破坏的节点。你怎么设计一个协议,让整个系统还能正常达成一致?既要保证安全(别达成错误结果),又要保证活性能推进(别卡死)?不听劝的你:临时把脑子...
人快好乐家:
所以这个题有什么好的解决方案吗?对于慢网络,像raft这样的协议并不把时间看成连续的,而是分成一个个term,如果消息晚到了但是term过期了就直接丢掉,而且消息本身有额外的幂等性保证,比如appendentries要用previndex,prevterm这种唯一定位的标志。第二个问题据我所知raft和paxos都是非拜占庭的,问了问chat说有什么pbft算法
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
滴滴提前批一二三面凉经
5968
2
...
不懂来大厂实习究竟能学到啥?
4489
3
...
科大讯飞-飞星计划-后端笔试
4136
4
...
鹅厂提前批一面秒挂
3730
5
...
28届求助,想本科就业
3515
6
...
腾讯TEG一面
3510
7
...
滴滴--提前批一二三面(三面链接关了,会赢吗😢,已挂)
2841
8
...
蔚来武汉Java后端实习一面凉经
2822
9
...
百度提前批一面:面试官居然让我手撕两数之和???最奇幻的一轮面试,结束还说.......
2652
10
...
终章
2605
创作者周榜
更多
正在热议
更多
#
工作中哪个瞬间让你想离职
#
28580次浏览
200人参与
#
在职场上,你最讨厌什么样的同事
#
16547次浏览
168人参与
#
选了这个offer,你有没有后悔?
#
593317次浏览
4031人参与
#
机械人,秋招第一次笔试的企业是哪家?
#
41223次浏览
327人参与
#
小米硬件提前批进度交流
#
171217次浏览
1528人参与
#
机械求职避坑tips
#
53548次浏览
381人参与
#
哪些公司校招卡第一学历
#
76204次浏览
315人参与
#
担心入职之后被发现很菜怎么办
#
139934次浏览
810人参与
#
入职以后才知道的校招谎言
#
89159次浏览
588人参与
#
职场常用语录大全
#
4297次浏览
32人参与
#
Offer比较,你最看重什么?
#
192299次浏览
1310人参与
#
华子oc时间线
#
1245347次浏览
6487人参与
#
哪些公司开提前批了?
#
30731次浏览
278人参与
#
风评不好的公司,你会去吗?
#
66625次浏览
468人参与
#
两会劳动法放大招
#
76743次浏览
692人参与
#
应届生初入职场,求建议
#
230506次浏览
2651人参与
#
实习如何「偷」产出?
#
57537次浏览
1408人参与
#
不卡学历的大厂有哪些?
#
33996次浏览
262人参与
#
怎么防止在试用期被辞退
#
129265次浏览
927人参与
#
校招阶段,学历VS技术哪个更重要?
#
20239次浏览
210人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务