第二次看到这个知识点,记录一下
<p>坚持学习与时俱进</p>
记录IAR使用printf需要以下更改:
自定义int putchar(int c)
简单测试下MDU、TFPU加速效果 32bit 40M:
1.不加两个lib
2.添加MDU,整数运算52ms降为13ms
3.添加TFPU,浮点数三角函数运算430+ms降为58ms
EEPROM测试:
一个扇区512字节
EEPROM_SectorErase擦除的是“参数/512”对应的扇区
擦除扇区0 (0~511):
EEPROM_SectorErase(0); 和 EEPROM_SectorErase(511);效果 相同
擦除扇区1(512~1023):
EEPROM_SectorErase(512);
u8 EEPROM_Test(){
u8 buf10={1,2,3,4,5,6,7,8,9,10};
u8 buf0={0XFF,0XFF,0XFF,0XFF,0XFF};
u8 buf={0XA5,0XA5,0XA5,0XA5,0XA5};
u8 buf1;
u8 i;
EEPROM_SectorErase(0);
EEPROM_SectorErase(512);
EEPROM_write_n(0,buf10,10);
EEPROM_write_n(512,buf10,10);
EEPROM_read_n(0,buf1,10);
printf("addr0:");
for(i=0;i<10;i++){
printf("%02x ",buf1);
}
printf("\n");
EEPROM_read_n(512,buf1,10);
printf("addr512:");
for(i=0;i<10;i++){
printf("%02x ",buf1);
}printf("\n");
EEPROM_SectorErase(0);
EEPROM_write_n(0,buf,5);
EEPROM_read_n(0,buf1,5);
for(i=0;i<5;i++){
//printf("%2x",buf1);
if(buf1!=0XA5)break;
}
if(i!=5)return FAIL;
EEPROM_SectorErase(511);
EEPROM_read_n(0,buf1,10);
printf("addr0:");
for(i=0;i<10;i++){
printf("%02x ",buf1);
}
printf("\n");
EEPROM_write_n(512,buf0,5);
EEPROM_read_n(512,buf1,10);
printf("512:");
for(i=0;i<10;i++){
printf("%02x ",buf1);
}
printf("\n");
EEPROM_SectorErase(512);
EEPROM_write_n(512,buf,5);
EEPROM_read_n(512,buf1,10);
for(i=0;i<10;i++){
printf("%02x ",buf1);
}
printf("\n");
for(i=0;i<5;i++){
//printf("%2x",buf1);
if(buf1!=0XA5)break;
}
if(i!=5)return FAIL;
return SUCCESS;
}
学习
打卡学习
正是我要学习的内容。收藏+关注{:4_245:}{:4_250:}
{:4_174:}
打卡学习