[求助]关于芯片MC68HC908JL8模拟EEPROM功能
- UID
- 119689
- 性别
- 男
|
[求助]关于芯片MC68HC908JL8模拟EEPROM功能
各位大侠:我现在正使用Freescale的8位MCU: MC68HC908JL8,关于这款芯片的模拟EEPROM功能,有些问题想咨询一下:
1. 该款芯片有内嵌程序EE_WRITE和EE_READ,用于模拟EEPROM功能,每次读写的字节为2~15字节,每页最多能写60字节,当一页60字节写满时,会自动擦除该页,我想写31字节到该页,是不是得连续写三次(每次都用最大15字节),当我想更新该31个字节时,得再写三次,这时该页只剩下29个字节的空间(小于我要写的31个字节),该页写满后会自动擦除,会不会把这次写入的前29个字节给擦除掉?该如何做?
2. 读取写入的参数(上次写入的31个字节)时,是不是也得连续读取三次?还有,读操作时,是先把在写操作过程中的最后写入的一个字节DATA14读取出来还是先将在写操作过程中写入的第一个字节DATA0读取出来的?
不胜感激~ |
|
|
|
|
|
- UID
- 104380
- 性别
- 男
|
关于EE_WRITE子程序的使用,最简单的理解方法是,一个模拟EEPROM数据块要占据一个页(64 字节)的空间,不管这个数据块是2个字节还是15个字节。
所以,当调用EE_WRITE子程序时,地址参数必须是一个页的起始地址($XX00, $XX40, $XX80或$XXC0)。EE_WRITE子程序会在写满一页后,自动在下一次写入时将整页擦除。
因此,对于你的应用,最好将31个字节分为10、10、11三个数据块,每个数据块占一个页的空间。 |
|
|
|
|
|
- UID
- 104380
- 性别
- 男
|
知道了EE_WRITE的使用,对EE_READ的使用也就清楚了。只要指定了要读页面的起始地址,EE_READ会自动判断最新写入的数据在哪里,将其读出。所以调用EE_READ时,一定要保证地址和数据长度参数的正确。 |
|
|
|
|
|
- UID
- 119689
- 性别
- 男
|
|
|
|
|
|