有个小问题向前辈们请教

[复制链接]
2647|13
 楼主| fds_yctc 发表于 2008-5-20 10:40 | 显示全部楼层 |阅读模式
可是我第一次写一个程序就把我给难住了,程序很简单,用的是PIC16F505芯片,她有1K字的大小,可我写的程序编译达到500多字节就说放不下,我的主程序只是调用同一个子程序,只是形参不同而已,多调用一次就不够,少一次就可以,我用的PICC8.05编译器,望前辈们能在百忙之中看一下,非常感谢!<br />c程序如下:<br />#include&ltpic.h&gt<br />//#include&ltpic16505.h&gt<br />#define&nbsp;uchar&nbsp;unsigned&nbsp;char<br />#define&nbsp;Classes&nbsp;100<br /><br />/************************************************<br />Start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一种颜色的起始色级<br />Over&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一种颜色的结束色级<br />Delay20ms&nbsp;&nbsp;&nbsp;一个色级保持时间的20ms数&nbsp;&nbsp;<br />Color11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第一种基色的PORTB数据<br />color21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第一种基色的PORTC数据<br />Color12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第二种基色的PORTB数据<br />Color22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第二种基色的PORTC数据<br />*************************************************/<br /><br />/*<br />void&nbsp;Change(static&nbsp;uchar&nbsp;Start,static&nbsp;uchar&nbsp;Over,static&nbsp;uchar&nbsp;Delay20ms,<br />static&nbsp;uchar&nbsp;Color11,static&nbsp;uchar&nbsp;Color21,static&nbsp;uchar&nbsp;Color12,static&nbsp;uchar&nbsp;Color22);<br />*/<br /><br />void&nbsp;Change(uchar&nbsp;Start,uchar&nbsp;Over,uchar&nbsp;Delay20ms,<br />uchar&nbsp;Color11,uchar&nbsp;Color21,uchar&nbsp;Color12,uchar&nbsp;Color22)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;uchar&nbsp;m,Color_nb;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(Color_nb=Start;Color_nb&ltOver;Color_nb++)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TMR0=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(TMR0&ltDelay20ms)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*在Delay20ms内俩种基色交替亮*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;asm(&quot;clrWDT&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(m=0;m&lt(Classes-Color_nb);m++)&nbsp;&nbsp;/*第一种基色亮的时间*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PORTB=Color11;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PORTC=Color21;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(m=0;m&ltColor_nb;m++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*第二种基色亮的时间*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PORTB=Color12;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PORTC=Color22;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />void&nbsp;main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;uchar&nbsp;n;<br />&nbsp;&nbsp;&nbsp;&nbsp;OPTION=0X20;<br />&nbsp;&nbsp;&nbsp;&nbsp;TRISB=0X00;<br />&nbsp;&nbsp;&nbsp;&nbsp;TRISC=0X20;<br />&nbsp;&nbsp;&nbsp;&nbsp;PORTB&=0X00;<br />&nbsp;&nbsp;&nbsp;&nbsp;PORTC&=0X20;<br />&nbsp;&nbsp;&nbsp;&nbsp;while(1)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,50,0x24,0x01,0x24,0x01);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*红保持2秒*/<br />//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,50,0x02,0x12,0x02,0x12);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*绿保持2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,50,0x01,0x0c,0x01,0x0c);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*兰保持2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(30,31,50,0x24,0x01,0x02,0x12);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*橙保持2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(70,71,50,0x24,0x01,0x02,0x12);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*黄保持2秒*/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(50,51,50,0x02,0x12,0x01,0x0c);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*青保持2秒*/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(50,51,50,0x01,0x0c,0x24,0x01);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*紫保持2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,50,0x27,0x1f,0x27,0x1f);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*白保持2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,100,1,0x27,0x1f,0x24,0x01);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*红固定,绿蓝递减*/&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,100,1,0x24,0x01,0x25,0x0d);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*红固定,蓝递增*/&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,100,1,0x25,0x0d,0x01,0x0c);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*蓝固定,红递减*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,100,1,0x01,0x0c,0x03,0x1e);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*蓝固定,绿递增*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,100,1,0x03,0x1e,0x02,0x12);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*绿固定,蓝递减*/&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,100,1,0x02,0x12,0x26,0x13);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*绿固定,红递增*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,100,1,0x26,0x13,0x24,0x01);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*红固定,绿递减*/&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,100,1,0x24,0x01,0x27,0x1f);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*红固定,绿蓝递增*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(n=0;n&lt10;n++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,10,0x21,0x02,0x21,0x02);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*三段R-G-B保持0.2秒*/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,10,0x04,0x14,0x04,0x14);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*三段G-B-R保持0.2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,10,0x02,0x09,0x02,0x09);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*三段B-R-G保持0.2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(n=0;n&lt10;n++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*红绿蓝交替亮*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*每次0.2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,10,0x24,0x01,0x24,0x01);&nbsp;&nbsp;&nbsp;&nbsp;/*共10次&nbsp;*/&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,10,0x02,0x12,0x02,0x12);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,10,0x01,0x0c,0x01,0x0c);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,25,0x27,0x1f,0x27,0x1f);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*白保持1秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,25,0x27,0x07,0x27,0x07);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*红白白保持1秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,25,0x27,0x01,0x27,0x01);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*红红白保持1秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,25,0x24,0x01,0x24,0x01);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*红红红保持1秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,25,0x27,0x1f,0x27,0x1f);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*白保持1秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,25,0x04,0x11,0x04,0x11);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*绿红红保持1秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,25,0x04,0x12,0x04,0x12);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*绿绿红保持1秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,25,0x02,0x12,0x02,0x12);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*绿绿绿保持1秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Change(0,60,2,0x24,0x01,0x02,0x12);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*红平滑到橙&nbsp;2.4秒&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Change(60,130,2,0x24,0x01,0x02,0x12);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*橙平滑到黄&nbsp;2.8秒&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Change(130,200,2,0x24,0x01,0x02,0x12);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*黄平滑到绿&nbsp;2.8秒&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Change(0,100,1,0x02,0x12,0x01,0x0c);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*绿平滑到青&nbsp;2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Change(100,200,1,0x02,0x12,0x01,0x0c);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*青平滑到兰&nbsp;2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Change(0,100,1,0x01,0x0c,0x24,0x01);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*兰平滑到紫&nbsp;2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Change(100,200,1,0x01,0x0c,0x24,0x01);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*紫平滑到红&nbsp;2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Change(0,200,1,0x24,0x01,0x02,0x12);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*红平滑到绿&nbsp;历时4秒&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Change(0,200,1,0x02,0x12,0x01,0x0c);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*绿平滑到蓝&nbsp;历时4秒&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//Change(0,200,1,0x01,0x0c,0x24,0x01);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*蓝平滑到红&nbsp;历时4秒&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}
machunshui 发表于 2008-5-20 17:28 | 显示全部楼层

搞定了,楼主编译一下这个代码

#include&ltpic.h&gt<br />//#include&ltpic16505.h&gt<br />typedef&nbsp;unsigned&nbsp;char&nbsp;uchar;<br />#define&nbsp;Classes&nbsp;100<br /><br />/************************************************<br />Start&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一种颜色的起始色级<br />Over&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;一种颜色的结束色级<br />Delay20ms&nbsp;&nbsp;&nbsp;一个色级保持时间的20ms数&nbsp;&nbsp;<br />Color11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第一种基色的PORTB数据<br />color21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第一种基色的PORTC数据<br />Color12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第二种基色的PORTB数据<br />Color22&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;第二种基色的PORTC数据<br />*************************************************/<br /><br />/*<br />void&nbsp;Change(static&nbsp;uchar&nbsp;Start,static&nbsp;uchar&nbsp;Over,static&nbsp;uchar&nbsp;Delay20ms,<br />static&nbsp;uchar&nbsp;Color11,static&nbsp;uchar&nbsp;Color21,static&nbsp;uchar&nbsp;Color12,static&nbsp;uchar&nbsp;Color22);<br />*/<br /><br />void&nbsp;Change(uchar&nbsp;Start,uchar&nbsp;Over,uchar&nbsp;Delay20ms,<br />uchar&nbsp;Color11,uchar&nbsp;Color21,uchar&nbsp;Color12,uchar&nbsp;Color22)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;uchar&nbsp;m,Color_nb;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;for(Color_nb=Start;Color_nb&ltOver;Color_nb++)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TMR0=0;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(TMR0&ltDelay20ms)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*在Delay20ms内俩种基色交替亮*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;asm(&quot;clrWDT&quot;);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(m=0;m&lt(Classes-Color_nb);m++)&nbsp;&nbsp;/*第一种基色亮的时间*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PORTB=Color11;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PORTC=Color21;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(m=0;m&ltColor_nb;m++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*第二种基色亮的时间*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PORTB=Color12;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PORTC=Color22;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />void&nbsp;change2(void)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,25,0x27,0x1f,0x27,0x1f);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*白保持1秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,25,0x27,0x07,0x27,0x07);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*红白白保持1秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,25,0x27,0x01,0x27,0x01);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*红红白保持1秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,25,0x24,0x01,0x24,0x01);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*红红红保持1秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,25,0x27,0x1f,0x27,0x1f);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*白保持1秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,25,0x04,0x11,0x04,0x11);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*绿红红保持1秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,25,0x04,0x12,0x04,0x12);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*绿绿红保持1秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,25,0x02,0x12,0x02,0x12);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*绿绿绿保持1秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,60,2,0x24,0x01,0x02,0x12);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*红平滑到橙&nbsp;2.4秒&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(60,130,2,0x24,0x01,0x02,0x12);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*橙平滑到黄&nbsp;2.8秒&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(130,200,2,0x24,0x01,0x02,0x12);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*黄平滑到绿&nbsp;2.8秒&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,100,1,0x02,0x12,0x01,0x0c);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*绿平滑到青&nbsp;2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(100,200,1,0x02,0x12,0x01,0x0c);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*青平滑到兰&nbsp;2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,100,1,0x01,0x0c,0x24,0x01);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*兰平滑到紫&nbsp;2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(100,200,1,0x01,0x0c,0x24,0x01);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*紫平滑到红&nbsp;2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,200,1,0x24,0x01,0x02,0x12);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*红平滑到绿&nbsp;历时4秒&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,200,1,0x02,0x12,0x01,0x0c);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*绿平滑到蓝&nbsp;历时4秒&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,200,1,0x01,0x0c,0x24,0x01);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*蓝平滑到红&nbsp;历时4秒&nbsp;*/<br /><br />}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />void&nbsp;main()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;uchar&nbsp;n;<br />&nbsp;&nbsp;&nbsp;&nbsp;OPTION=0X20;<br />&nbsp;&nbsp;&nbsp;&nbsp;TRISB=0X00;<br />&nbsp;&nbsp;&nbsp;&nbsp;TRISC=0X20;<br />&nbsp;&nbsp;&nbsp;&nbsp;PORTB&=0X00;<br />&nbsp;&nbsp;&nbsp;&nbsp;PORTC&=0X20;<br />&nbsp;&nbsp;&nbsp;&nbsp;while(1)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,50,0x24,0x01,0x24,0x01);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*红保持2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,50,0x02,0x12,0x02,0x12);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*绿保持2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,50,0x01,0x0c,0x01,0x0c);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*兰保持2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(30,31,50,0x24,0x01,0x02,0x12);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*橙保持2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(70,71,50,0x24,0x01,0x02,0x12);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*黄保持2秒*/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(50,51,50,0x02,0x12,0x01,0x0c);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*青保持2秒*/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(50,51,50,0x01,0x0c,0x24,0x01);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*紫保持2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,50,0x27,0x1f,0x27,0x1f);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*白保持2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,100,1,0x27,0x1f,0x24,0x01);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*红固定,绿蓝递减*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,100,1,0x24,0x01,0x25,0x0d);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*红固定,蓝递增*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,100,1,0x25,0x0d,0x01,0x0c);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*蓝固定,红递减*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,100,1,0x01,0x0c,0x03,0x1e);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*蓝固定,绿递增*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,100,1,0x03,0x1e,0x02,0x12);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*绿固定,蓝递减*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,100,1,0x02,0x12,0x26,0x13);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*绿固定,红递增*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,100,1,0x26,0x13,0x24,0x01);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*红固定,绿递减*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,100,1,0x24,0x01,0x27,0x1f);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*红固定,绿蓝递增*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(n=0;n&lt10;n++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,10,0x21,0x02,0x21,0x02);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*三段R-G-B保持0.2秒*/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,10,0x04,0x14,0x04,0x14);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*三段G-B-R保持0.2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,10,0x02,0x09,0x02,0x09);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*三段B-R-G保持0.2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for(n=0;n&lt10;n++)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*红绿蓝交替亮*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*每次0.2秒*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,10,0x24,0x01,0x24,0x01);&nbsp;&nbsp;&nbsp;&nbsp;/*共10次&nbsp;*/&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,10,0x02,0x12,0x02,0x12);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Change(0,1,10,0x01,0x0c,0x01,0x0c);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;change2();&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br />
machunshui 发表于 2008-5-20 17:34 | 显示全部楼层

把部分代码移动到change2函数

把部分代码移动到change2函数,<br /><br />主函数main调用change2即可。<br /><br />picc默认一个函数编为一段,楼主原来的程序,<br />main()函数作为一个段来链接,<br />main()函数的大小在512字(即一个物理程序存储器分段)的边界上,<br />所以不行。<br /><br />把部分代码移动到change2函数里,<br />change2()函数单独编译为一个程序段<br />main()函数的大小就减小了,就能够存储到一个512字的物理程序存储器的段上了.<br /><br />
machunshui 发表于 2008-5-20 18:07 | 显示全部楼层

遇到这样的链接问题,首先看map文件

遇到这样的链接问题,首先看map文件,<br />查看生成的程序段的链接地址,<br />看看程序段的分布是不是有问题.<br /><br />另外,可以参考能链接过去的程序生成的map文件,和链接不过去的map文件对比,<br />这样比较容易找出问题之所在
ayb_ice 发表于 2008-5-20 19:39 | 显示全部楼层

C里写程序虽然不用切页

但一个程序不能大于一页,否则会装不下一页,也会出错
lifengtao 发表于 2008-5-20 20:59 | 显示全部楼层

呵呵 你这个项目是什么光嫩肤美容的吧,再摸上些药膏~

我也做过类似的东西,用16F73,控制几个按键和5,6种颜色的灯,忽快忽慢的闪着,也是按客户要求仿制别人的,后来项目夭折了,给了一半钱,做成了,人不见了~~~&nbsp;仿制的那东西好像是叫CLEAR~~~<br />我是用汇编写的,感觉还不错,其实16F的用汇编真的不错。有兴趣可以讨论讨论~
machunshui 发表于 2008-5-21 08:33 | 显示全部楼层

程序的连接段,不能大于一个存储页

&quot;但一个程序不能大于一页,否则会装不下一页,也会出错&quot;<br /><br />不是一个程序,而是一个程序的连接段,不能大于一个存储页,<br />一般picc,一个函数编作为一个程序的连接段。
richardvip 发表于 2008-5-21 12:45 | 显示全部楼层

是不是也和编译器版本有关呀

我用picc9.6就可以编译通过呀
machunshui 发表于 2008-5-21 13:45 | 显示全部楼层

不大可能吧?

8楼用picc9.6通过楼主的程序了吗?<br /><br />我picc&nbsp;9.60,picc8.05都试过,是不行的。<br /><br />而且楼主的代码,是可以编译通过的,<br />关键是把楼主的屏蔽掉的函数调用代码全加上,<br />8楼,能通过吗?
richardvip 发表于 2008-5-21 14:47 | 显示全部楼层

不好意思,我没有把楼主屏蔽掉的函数加上

加上后,确实有问题,根据报的错误,把main函数分成几段,就可以编译通过了,不过我有个疑问,如果程序很大,有很多文件,我如何锁定出错的代码段,并将其分割呢
machunshui 发表于 2008-5-21 15:25 | 显示全部楼层

其实,函数不应该太大

其实,函数不应该太大。<br />以前,我的领导跟我们说,函数一般最大不要超过一屏幕。<br /><br />当然,如果发生了问题<br />map文件里面,有详细的代码段定位情况
richardvip 发表于 2008-5-21 16:29 | 显示全部楼层

machunshui再请教你一个问题

在picc中你使用过malloc函数没有,我为何不能调用
machunshui 发表于 2008-5-21 16:46 | 显示全部楼层

picc中,没用过malloc

picc中,没用过malloc。<br /><br />这种小的片子,用动态分配,得不偿失。<br /><br />用pic16,我尽可能用全局变量,连带参数传递的函数,都很少用。<br /><br />甚至,连函数都不用,直接用宏定义代替.<br /><br />如果你不能用malloc,可能是编译器不支持吧
richardvip 发表于 2008-5-22 11:15 | 显示全部楼层

可是picc中stdlib中还有这个函数,真是奇怪

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部