回忆是眼中的海经典语录-豆豆语录迷
返回
豆豆语录迷
菜单
造句大全 组词大全 句子大全 个性签名 心情说说 经典语录 换背景

回忆是眼中的海经典语录

来源:网络 发布时间:2019-11-19 点击:
经典语录 > 经典语录 > > 回忆是眼中的海经典语录
《回忆是眼中的海经典语录》正文内容

回忆是眼中的海经典语录

老师教会了我什么,我不记得了,但老师的经典语录却记忆犹新啊!

上课篇

解题篇

忠告篇

学生时代回忆最多的地方便是课堂

永远拖堂的英语课

总说再讲最后一句的语文老师

总是有事的体育老师

下面来看看不同课堂上老师的“经典语录”

让你一秒回到学生时代

语文老师(说一口漂亮的绕口令)

○看书干嘛,书上有什么?往前看,看我!

○看我干嘛,我脸上有字啊?看书!

○看黑板干嘛,我在说话,看我 。

英语老师(用各种例子征服你)

○我昨天被妈妈打

○我今天正在妈妈打

○我明天将会妈妈打

○就应该用不同的时态!

数学老师(拿出专业水准从气势上镇压)

○这道题是送分的,这道题也是送分的

○鸡变狗不变,偶数看象限。

○这里是X轴,这里是Y轴,我在这里放个P...

化学老师(以把学生绕晕为原则)

你们脑子里头不晓得是不是被二氧化碳占完了,要不要在里面加点氢氧化钡,或者是三氧化铁看下有没有反应,有气体反应就还有救,没有就表示你那脑子就是一浆糊,搅都搅不动!

这些口头禅,你还记得吗?原来老师们才是真正的段子手!

美帝从政府层面出手限制华为,作为经常使用华为海思产品的程序猿,觉得海思芯片有完整详细的datasheet,配置起来简单,也很容易上手。在这里分享一下海思芯片I2C的配置方法,也希望大家对华为海思芯片多多支持。

I2C总线简介

首先按照惯例俗套的说一下I2C总线的定义,I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根分别命名为SDA(串行数据线)和SCL(串行时钟线)的信号线连接不同的器件即可传输信息。

I2C总线上的器件有主从之分,在嵌入式系统上的主器件一般是嵌入式主芯片(MCU),主器件负责启动、终止数据传送,产生时钟信号。从器件一般是外部设备,像小编所在行业的外部设备包括温度传感器、Tunner、HDMI等。

I2C主设备配置

了解了I2C总线的定义和基本原理后,我们怎样做才能让I2C总线正常工作呢?

首先,我们得配置I2C(本文以Hi3798CV200芯片为例)。

步骤一:硬件确认,确认连接MCU和外设用的那一组I2C通道。Hi3798CV200 芯片集成5个I2C控制器(一般命名为I2C0~I2C4),实现标准I2C主设备功能,可完成对I2C总线上的从设备的数据发送和接收,这里我们确认的是I2C1。

步骤二:确认硬件管脚复用情况。因为在嵌入芯片中,绝大多数管脚都是复用的。我们首先查一下芯片datasheet,看该管脚是否是复用的。从下图可以看出来该I2C管脚是复用的:

步骤三:配置复用寄存器。从步骤二可以看出,我们使用的I2C1管脚是有复用的,所以我们要配置复用寄存器使当前管脚发挥I2C的功能。查看datasheet得知,控制该组I2C的复用寄存器分别是ioshare_56和ioshare_57。

我们可以按照下图所示的将寄存器的低三位配置为010,即此管脚就是执行I2C1的数据线功能了。

同样的方法配置ioshare_57。

配置完后我们将记录配置信息相应的分区文件烧录的开发板中。在串口输入如下命令可以查看I2C的信息:

Hi3798CV200:/ # cat /proc/hisi/msp/i2c ---------Hisilicon Standard I2C Info---------No. Rate0 01 1000002 03 04 0

此信息显示I2C1,速率100K。

I2C总线调试

前面一节我们配置了I2C主器件,接下来就是调试该总线,调试之前需要确认从设备在I2C总线上的地址、该设备内部寄存器地址以及寄存器地址长度。

小编这里用到的是一款温度传感器。其设备地址为0x90,内部寄存器地址是0x0,寄存器地址长度为1个字节。

海思芯片I2C调试起来很方便,因为它自带了I2C控制命令,包含了读写等操作,省去了自己写调试代码。

串口命令行下输入i2c_read,就会告诉你读取操作使用方法:

Hi3798CV200:/ # i2c_read Usage: i2c_read i2c_channel device_addr register_addr register_addr_len read_bytes_number

参数含义说明:

i2c_channel:I2C通道device_addr:I2C设备地址。register_addr: i2c设备内部寄存器地址。register_addr_len: i2c设备内部寄存器地址长度。read_bytes_number:所需要读取的数据长度。于是我们就可以按照上面的方法调试I2C总线了,命令行下输入:

Hi3798CV200:/ # i2c_read 1 0x90 0 2 2

得到以下结果:

从上图看出来,我们执行是错误的,那么是不是I2C没有配置好呢?别急,继续检查一遍我们输入的命令,发现第4个参数写成了2,而前面我们介绍的是寄存器地址长度为1个字节。修改命令:

Hi3798CV200:/ # i2c_read 1 0x90 0 1 2

查看执行结果:

成功啦,成功读取到2个字节内容的数据。到这里,说明我们对I2C的配置是正确的!

I2C总线的工作状态

1、I2C开始和停止工作

开始:当SCL是高电平时,SDA从高电平跳变到低电平,则I2C总线开始工作

结束:当SCL是高电平时,SDA从低电平跳变到高电平,则I2C总线结束工作,如下图:

2、开始状态后紧跟着主器件会发送一个字节的数据,这个字节数据由7bit从器件地址和1bit读写位组成。

3、当从器件收到总线上的地址并匹配,发现与自己地址相同时,则在第9个时钟周期回复一个应答反馈信号。

应答信号如下图:

非应答信号如下图所示:

4、当主器件收到从器件的应答信号后继续发送后面的数据。从器件收到数据后发送ACK则表示继续传输,发送NACK则传输结束。

留在后面的作业

小编用示波器抓取了一张I2C总线的波形图,下图黄色为SCL时钟信号,绿色为SDA数据信号。

通过观看这张图结合上面的一些知识,大家能知道这张图上I2C总线做了哪些操作吗?

上一篇:红楼梦经典语录解释
下一篇:管理书经典语录

相关经典语录

推荐经典语录

热门经典语录

  • 五五开骂人经典语录
  • 说说社会经典语录
  • 快手经典语录,快手社会语录短句霸气,快手里面经典评论
  • 将进酒唐酒卿经典语录
  • 嚣张by巫哲经典语录
  • 快手评论经典语录
  • 栖见的白日梦我中的经典语录,白日梦我金句,白日梦我经典台词
  • 鼠疫加缪经典语录瞎子
  • 最新经典语录

  • 虚伪的人生的经典语录,送给耍心机的人的语录 至虚伪朋友的经典语录
  • 中国人的素质经典语录
  • 翡翠玉石经典语录
  • 经典语录电影截屏
  • 狮子座 经典语录
  • 社会姐经典语录霸气
  • 电影北极之恋经典语录
  • 爱情宣言经典语录短句