共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 跳转至页
回复
打赏帖 | |
---|---|
汽车电子中巡航控制系统的使用被打赏10分 | |
分享汽车电子中巡航控制系统知识被打赏10分 | |
分享安全气囊系统的检修注意事项被打赏10分 | |
分享电子控制安全气囊计算机知识点被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】【OZONE】使用方法总结被打赏20分 | |
【分享开发笔记,赚取电动螺丝刀】【S32K314】芯片启动流程分析被打赏40分 | |
【分享开发笔记,赚取电动螺丝刀】【S32K146】S32DS RTD 驱动环境搭建被打赏12分 | |
【分享开发笔记,赚取电动螺丝刀】【IAR】libc标注库time相关库函数使用被打赏23分 | |
LP‑MSPM0L1306开发版试用结果被打赏10分 | |
【分享开发笔记,赚取电动螺丝刀】【LP-MSPM0L1306】适配 RT-Thread Nano被打赏23分 |