渴望看懂这个复杂程序!

2019-07-16 01:17发布

//定时器0中断函数void T0_INT() interrupt 1{       TL0=LO_LIST[Song[Song_Index][Tone_Index]];       TH0=HI_LIST[Song[Song_Index][Tone_Index]];       SPK=~SPK;}
   其中LO_LIST[Song[Song_Index][Tone_Index]]怎么理解?一般都是TL0=0x**;
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
闲中偷忙
1楼-- · 2019-07-16 01:52
 精彩回答 2  元偷偷看……
starsnow
2楼-- · 2019-07-16 05:13
一个二维数组的值做为一个一维数组的下标。然后这个一维数组里的值就是你想要的 0x** 或是十进制值了嘛。
starsnow
3楼-- · 2019-07-16 09:28
闲中偷忙 发表于 2013-4-19 16:35
LO_LIST[Song[Song_Index][Tone_Index]];
HI_LIST[Song[Song_Index][Tone_Index]];
这两个是什么呢? ...

要说这个语句写的还是很好的嘛,从变量就能看出意思来。
Song 是一个二维数组,第一维保存了几首歌,第一维的每个数组是歌中的每一个音(相应的高低计数值对应的下标,即LO_LIST 和 HI_LIST)。然后用下标 Song_Index 和 Tong_Index 来获得相应歌曲的相应音符计数值下标,再去两个 LIST 中获取计数值,赋值给计时器,从而达到简化程序的目的。
我觉得这个设计很高级。学习学习。

huzi741
4楼-- · 2019-07-16 11:29
我觉得就是一个二维数组而已,但是他的值在不断的变化,他的定时时间也在变化的,
maxj5633
5楼-- · 2019-07-16 15:46
starsnow 发表于 2013-4-19 16:46
要说这个语句写的还是很好的嘛,从变量就能看出意思来。
Song 是一个二维数组,第一维保存了几首歌,第一 ...

麻烦说详细一点,谢谢。

一周热门 更多>