richardwu

richardwu

0个粉丝

7

问答

0

专栏

1

资料

richardwu  发布于  2014-10-22 17:41:19
采纳率 0%
7个问答
4013

HI3521 I2C使用問題

 
透过SDK中GPIO I2C这个范例读取RTC/GPIO的值,但始终读回Oxff
所以想先确定I2C设定是正确的,在文件中有提到I2C设置复用寄存器的页面
但不知道该如何读写复用寄存器?

有人可以给点方向吗?谢谢了!
我来回答
回答5个
时间排序
认可量排序

rafael_wl

1个粉丝

12

问答

0

专栏

7

资料

rafael_wl 2014-10-23 08:53:40
认可0
I2C 有没有工作正常 最好用示波器看看,有时配置正确的,上拉不正确,也是0xff,在示波器上也能看到有波形,但是幅度很小。

寄存器可以直接himm

richardwu

0个粉丝

7

问答

0

专栏

1

资料

richardwu 2014-10-23 09:51:22
认可0
目标板上电时也会执行附图中这份档案,依照SDK设置复用控制寄存器

也有试过用ZXL_Studio-DX这套软件,录下传送i2C指令时的讯号
而SDA在送出指令时会有相对应的波动
但SCL始终是LOW,所以想先确认I2C有问题,难道会是硬件出错?

rafael_wl

1个粉丝

12

问答

0

专栏

7

资料

rafael_wl 2014-10-23 10:03:24
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=8578&ptid=4026]richardwu 发表于 2014-10-23 09:51[/url]
目标板上电时也会执行附图中这份档案,依照SDK设置复用控制寄存器

也有试过用ZXL_Studio-DX这套软件,录 ...[/quote]

复用,时钟,控制寄存器。 都检查下。
你的附图只是  复用部分。

cdxionghang

0个粉丝

15

问答

0

专栏

0

资料

cdxionghang 2014-10-28 09:55:26
认可0
先确定I2C是否正确,先写一个值进寄存器,然后再读取看是不是设置的值。确定I2C通了之后再看复用是否正确。

richardwu

0个粉丝

7

问答

0

专栏

1

资料

richardwu 2014-10-28 10:35:21
认可0
谢谢了,问题可能是指令下错
RTC型号是ds1307,指令应该这么下
./i2c_read 0x200d00d0 0x0

0x200d是i2c总线的地址
00d0则是rtc的device address
0x0则是读秒数的寄存器

第一次读的时候,应该会读到0x80(1000 0000)即代表rtc目前是停用状态
需要将秒数寄存器写入0x00才会启用rtc

而rtc的规格书中提到d0/d1,分别是写/读
可是在使用海思Sdk中的范例,读写都是用0x200d00d0即可
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区