共2条
1/1 1 跳转至页
问
24C256在400H地址随便写一个数据,例如,在4FFH地址写入05H,而在400H地址以后任一个地址读出来的都是05H数据。400H地址以前是正常的。怎么回事呢?
答 1:
查看你的“读”程序里的地址设置,问题80%出在这里!
答 2:
24LC256和24CL256的I2C程序有何不同吗?
答 3:
引用:
答 4:
“读”程序里的地址有什么特殊设置
答 5:
会不会是你使用了“段写”?就是在连续8个单元或者N*8个单元里一次写入多个数据的方式?建议你多抽几个数看看再说
答 6:
没有使用“段写”。我是一次写一个单元。那400H地址前的不会有这样的现象。WHY?
答 7:
该不会是芯片损坏了吧?换一片试试?
答 8:
几个都这样。你有没有范例呢
答 9:
那就只可能是程序问题了,把你的“读"程序和”写程序“都贴上来看看。
答 10:
;往EEPROM中写一个字节的数据
ROM_WIRTE_BYTE
CALL #I2C_Sta ;起动总线
NOP
NOP
MOV.B #0A0H,&I2C_NUM
MOV &ROMADD,R9
MOV.B R9,&I2C_AddrL
INC R9
MOV.B R9,&I2C_AddrH
CALL #I2C_WR_Addr
WAITACK3 MOV &ROMDATA,R8 ;存储
CALL #I2C_WR_BYT
CALL #I2C_Ackn
JC WAITACK3
CALL #I2C_Stop 答 11: 晕,我看不懂汇编,帮不了你了。请懂汇编的高手帮忙吧 答 12: 24cl256是fram,读写时器件地址和24lc256不同,查看手册 答 13: erlking 你的写程序贴上来 答 14: 我自己没写过,但是有别人写的现成的程序,我抄给你看看,我自己也看了一下,感觉有点乱,不知对你是否有帮助。过段时间我自己再抽空写一个。
ROM_WIRTE_BYTE
CALL #I2C_Sta ;起动总线
NOP
NOP
MOV.B #0A0H,&I2C_NUM
MOV &ROMADD,R9
MOV.B R9,&I2C_AddrL
INC R9
MOV.B R9,&I2C_AddrH
CALL #I2C_WR_Addr
WAITACK3 MOV &ROMDATA,R8 ;存储
CALL #I2C_WR_BYT
CALL #I2C_Ackn
JC WAITACK3
CALL #I2C_Stop 答 11: 晕,我看不懂汇编,帮不了你了。请懂汇编的高手帮忙吧 答 12: 24cl256是fram,读写时器件地址和24lc256不同,查看手册 答 13: erlking 你的写程序贴上来 答 14: 我自己没写过,但是有别人写的现成的程序,我抄给你看看,我自己也看了一下,感觉有点乱,不知对你是否有帮助。过段时间我自己再抽空写一个。
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图四被打赏50分 | |
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 |