完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 zhu0309 于 2015-4-14 08:32 编辑 本人玩刚接触单片机,想做个HDMI5进1出切换器,用的IC为PI3HDMI336,红色字体部分希望大侠们帮我分析分析,感谢啦 如下为datasheet寄存器部分,
PI3HDMI336 Datasheet.pdf
(1018.2 KB, 下载次数: 90
)
void At24c02Write(unsigned char addr,unsigned char dat) I2C_Start(); I2C_SendByte(0xa0, 1);//发送写器件地址 I2C_SendByte(addr, 1);//发送要写入内存地址,这边内存地址addr是不是为0,1,2三种即可?各位大侠帮帮忙啦~~ I2C_SendByte(dat, 0); //发送数据 I2C_Stop(); }, |
|
相关推荐
6个回答
|
|
第一种:你要查看你的单片机的内存地址(SRAM),是8位的还是16位的,然后将地址代入你的addr,当然还要区分是写入SRAM还是写入Flash,因为大多数单片机的SRAM和Flash的地址是分开的,所以这些地址会有重叠。
第二种:定义SRAM变量var,令addr=&var,也是可以的。 |
|
|
|
sorry,我上面描述错误了,单片机我用的是STC 90C516RD+(8位),HDMI切换芯片用的是PI3HDMI336(上面有datasheet), 我想用单片机的I2C连接到HDMI切换芯片上 并控制HDMI切换芯片工作状态, 在HDMI切换芯片datasheet里介绍有3个寄存器,现在就是不明白这三个寄存器的地址是多少?还请大侠能帮帮我啦, |
|
|
|
PI3HDMI336确定了6位地址,剩下一位I2C_ADR给你确定,即(101010XX),如果要写到PI3HDMI336,则地址为二进制(10101010)=0xaa或者是(10101000)=0xa8,也就是说地址寄存器的I2C_ADR位由你确定。
|
|
|
|
我现在遇到问题是,不知道PI3HDMI336内存地址是多少?如下器件地址我已经确定为0xa0, 但是困惑的是addr(内存地址),是不是addr改成0、1、2就可以了?或者应该是别的? I2C_Start(); I2C_SendByte(0xa0, 1);//发送写器件地址 I2C_SendByte(addr, 1);//发送要写入内存地址,这边内存地址addr是不是为0,1,2三种即可 I2C_SendByte(dat, 0); //发送数据 I2C_Stop(); 1,发送器件地址2,发送内存地址?????? 3,发送数据 |
|
|
|
PI3HDMI336这个没有SRAM啊,看看你主机的SRAM,SRAM的地址编址要看其大小,如256k的avrSRAM编址从0x0000~0xFFFF。
|
|
|
|
还有不知道你发送内存地址干嘛?
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
205 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1253 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
848 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
853 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1073 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12012 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 00:34 , Processed in 0.841767 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号