一个else if语句优化的问题

[复制链接]
3472|2
 楼主| 陈文 发表于 2007-10-11 14:06 | 显示全部楼层 |阅读模式
这个是一个数据发生程序<br />我找到影响工作频率的主要就是这几个else&nbsp;if语句。<br />请问怎么优化?<br />1、读取双口RAM的数据<br />else&nbsp;if(cnt_frame&gt=8&nbsp;&&&nbsp;cnt_frame&lt=21)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;DA&nbsp;&nbsp;SA&nbsp;&nbsp;TYPE<br />&nbsp;&nbsp;&nbsp;TXD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt=&nbsp;data_ram&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;<br />2、读取计数器1的数据<br />else&nbsp;if(cnt_frame==52)&nbsp;&nbsp;&nbsp;//&nbsp;序列号<br />&nbsp;&nbsp;&nbsp;&nbsp;TXD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt=&nbsp;{sequence_num_8,sequence_num_7}&nbsp;;<br />else&nbsp;if(cnt_frame==53)&nbsp;&nbsp;&nbsp;//&nbsp;序列号<br />&nbsp;&nbsp;&nbsp;&nbsp;TXD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt=&nbsp;{sequence_num_6,sequence_num_5}&nbsp;;<br />else&nbsp;if(cnt_frame==54)&nbsp;&nbsp;&nbsp;//&nbsp;序列号<br />&nbsp;&nbsp;&nbsp;&nbsp;TXD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt=&nbsp;{sequence_num_4,sequence_num_3}&nbsp;;<br />else&nbsp;if(cnt_frame==55)&nbsp;&nbsp;&nbsp;//&nbsp;序列号<br />&nbsp;&nbsp;&nbsp;TXD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt=&nbsp;{sequence_num_2,sequence_num_1}&nbsp;;<br />3、读另外一个计数器<br />else&nbsp;if(cnt_frame==Length-10)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;时间标签<br />TXD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt=&nbsp;{timestamp_cnt_12,timestamp_cnt_11}&nbsp;;<br />else&nbsp;if(cnt_frame==Length-9)&nbsp;&nbsp;&nbsp;&nbsp;<br />TXD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt=&nbsp;{timestamp_cnt_10,timestamp_cnt_9}&nbsp;;<br />else&nbsp;if(cnt_frame==Length-8)&nbsp;&nbsp;&nbsp;&nbsp;<br />TXD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt=&nbsp;{timestamp_cnt_8,timestamp_cnt_7}&nbsp;;<br />else&nbsp;if(cnt_frame==Length-7)&nbsp;&nbsp;&nbsp;&nbsp;<br />TXD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt=&nbsp;{timestamp_cnt_6,timestamp_cnt_5}&nbsp;;<br />else&nbsp;if(cnt_frame==Length-6)&nbsp;&nbsp;&nbsp;&nbsp;<br />TXD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt=&nbsp;{timestamp_cnt_4,timestamp_cnt_3}&nbsp;;<br />else&nbsp;if(cnt_frame==Length-5)&nbsp;&nbsp;&nbsp;&nbsp;<br />TXD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt=&nbsp;{timestamp_cnt_2,timestamp_cnt_1}&nbsp;;&nbsp;&nbsp;<br /><br />&nbsp;&nbsp;&nbsp;多谢啊~&nbsp;&nbsp;搞了好久了还是没解决啊
computer00 发表于 2007-10-11 14:57 | 显示全部楼层

可以换成switch语句试试

  
 楼主| 陈文 发表于 2007-10-12 10:37 | 显示全部楼层

多谢了<br />我改了个独热状态机~&nbsp;&nbsp;提了大概30M的速度&nbsp;<br />基本够用的了<br />多谢多谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

12

帖子

1

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