**在while( 此处)小括号里面不要做大小判断,或者复杂判断。**
> 发生于IAR编译器里面:目标:需要一个条件跳出while 有时候一直在循环,即便小括号里面的条件可以为假可以跳出while
> **初步判断:是里面的操作,使得圆括号的数据变化过大(主要原因)**。但是还有一次是选取圆括号已经显示出为0,但是就是没跳出来。
方便——数据解析到机构体
数据解析到结构体里面:成员变量名字后面可以带上占用位宽;
然后到解析的时候就很清晰;
SD_message1.SD_CSD. CSD_STRUCT_b2 = ( SD_message1.CSD_array[0] >> 30 )&0x03 ; //CSD结构体 2位
SD_message1.SD_CSD. Reserved1_b6 = ( SD_message1.CSD_array[0] >> 24 )&0x3f ; //保留 6位
SD_message1.SD_CSD. TAAC_b8 = ( SD_message1.CSD_array[0] >> 16 )&0xff ; //数据访问时间
SD_message1.SD_CSD. NSAC_b8 = ( SD_message1.CSD_array[0] >> 8 )&0xff ; //时钟周期中的数据读访问时间
SD_message1.SD_CSD. TRAN_SPEED_b8 = ( SD_message1.CSD_array[0] >> 0 )&0xff ; //最大数据传输速率
SD_message1.SD_CSD. CCC_b12 = ( SD_message1.CSD_array[1] >> 20 )&0xfff ; //卡命令类
SD_message1.SD_CSD. READ_BL_LEN_b4 = ( SD_message1.CSD_array[1] >> 16 )&0x0f ; //读数据块最大长度
避免调试程序出现一些错误的方法之一
单编译文件之后,一定要再进行全编译所有文件,否则编译链接程序就会不对得上实际想要的程序;
之前调试,经常单编译,导致了有些标记位无法得到;
安装第一次软件安装退出倒导致一直安装不上
1、安装不完全,控制拌面卸载就行了。或者找注册列表