我用的是HC908GP32,CW_V3.0版本,程序内容是用GP32控制DDS芯片,用C语言写,开头部分是照北航出的参考书上写的。主程序部分自己写,用TURBO C调试过没问题。用CW make时提示limitation:code size>1024。请高手帮忙。<br /><br /><br /><br />/************************************************************************/<br />/*文件名:void set_code(void) */<br />/*程序描述:设置控制字 */<br />/************************************************************************/ <br />void set_code(void)<br />{<br />unsigned char a,i,j,k,m,n;<br />float b,pre_data=0.00004;<br />long final_data;<br />for(i=0;i<9;i++)<br />if(key_data==15)<br />{<br />n=i;<br />break;<br />}<br />for(i=0;i if(key_data==11)<br />{<br />m=i;<br />break;<br />}<br />if(i==n)<br />m=n;<br />if(m!=n)<br />{<br />key_data[m]=0;<br />if(key_data[n-1]==10||key_data[n-1]==13||key_data[n-1]==16)<br />{<br />for(j=0;j {<br />b=pow(10,m-j-1);<br />pre_data+=key_data[j]*b;<br />}<br />for(k=1;m+k {<br />b=pow(10,0-k);<br />pre_data+=key_data[m+k]*b;<br />b=pow(10,key_data[n-1]-10);<br />pre_data*=b;<br />}<br />}<br />else<br />{<br />for(j=0;j {<br />b=pow(10,m-j-1);<br />pre_data+=key_data[j]*b;<br />}<br />for(k=1;m+k {<br />b=pow(10,0-k);<br />pre_data=pre_data+key_data[m+k]*b;<br />}<br />}<br />}<br />else<br />{<br />if(key_data[n-1]==10||key_data[n-1]==13||key_data[n-1]==16)<br />{<br />for(j=0;j {<br />b=pow(10,n-1-j);<br />pre_data+=key_data[j]*b;}<br />b=pow(10,key_data[n-1]-10);<br />pre_data*=b;}<br />else<br />{<br />for(j=0;j {<br />b=pow(10,n-1-j);<br />pre_data+=key_data[j]*b;<br />}<br />}<br />}<br />final_data=pre_data;<br />for(a=0;a<32;a++)<br />{<br />code[a]=5;<br />}<br />code[32]=1;<br />code[33]=0;<br />code[34]=1; <br />}<br /> |
|