关于MSP硬件I2C讲解
时间:11-21
来源:互联网
点击:
。多字节写函数和多字节度函数分为一组,测试过程相似,不同的是写入的内容从一个变为了连续8个。请注意AT24C02的页大小为8,若从页首地址开始,最大的写字节个数为8。
另外,EEPROM写操作之后需要有10ms的延时,否则将无法进行写操作和读操作。具体请查看AT24C02数据手册。
6.1 测试代码
- voideeprom_config()
- {
- #ifDEBUF_EEPROM_I2C
- uint8_ttest_byte1=0x0B;
- uint8_ttest_byte2=0x01;
- /*
- step1向地址0x00写入某个值,例如0x0B
- 然后读出地址0x00结果,判断该值是否为0x0B
- */
- eeprom_writebyte(0x00,test_byte1);
- delay_ms(10);
- eeprom_readbyte(0x00,&test_byte2);
- assert_param(test_byte1==test_byte2);
- if(test_byte1==test_byte2)
- {
- printf("ByteReadandByteWriteTestPass\r\n");
- }
- /*
- step2以地址0x08作为起始地址,连续写入8个字节数据
- 再连续从该起始地址读取8字节内容,比较写入和读出字节内容
- 成功的条件为写入和读取字节内容相同
- */
- uint8_ttest_buf1[8]={1,2,3,4,5,6,7,8};
- uint8_ttest_buf2[8]={0,0,0,0,0,0,0,0};
- eeprom_writepage(0x08,test_buf1,8);
- delay_ms(10);
- eeprom_readpage(0x08,test_buf2,8);
- assert_param(memcmp(test_buf1,test_buf2,8)==0);
- if(!memcmp(test_buf1,test_buf2,8))
- {
- printf("PageReadandPageWriteTestPass!\r\n");
- }
- #endif
- }
6.2 测试结果
MSP硬件I2 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)