先说说这个工程的功能吧
首先是流水灯,流水灯是在定时器里面写的,1s闪一次。
其次是触摸屏校准,默认是直接跳过的,因为我自己在程序里面已经预置了校准参数,程序启动后,按key1可以重新进入校准,设置校准参数。
触摸屏的滤波是首先检测到触摸屏按下的信号后,定时器延时一段时间,然后再读十二次数据,然后排序,再取中间四个数的平均数,虽然说这样有点麻烦,但是效果很好,实际测试,点击16*16内范围的字不会出现误按。
接着说music,只是实现一些基本的功能,甚至连上下首切换到 时候要对vs1003发送1024个数据都懒得写了,实际试了下,就是切歌的时候 偶尔会 有那么大约0.5s的刺耳的声音。
实现了后台播放,进度条显示,播放时间以及总时间显示,点击进度条可以快进和快退,点击音量可以设置音量的大小。
本来通信是主体,但是现在加了这么多,显得通信的程序就剩那么一点点了,本来想用ucos ii的,但是因为我里面要用到一个虚拟鼠标,而把usb这一块移植到ucos中,电脑死活就是识别不出,后来好不容易可以识别了,驱动也可以装好,也可以实现鼠标点击的功能,但是,只能点一下,而且,程序就死在这里面了,出不来了,我也不知道为什么,有哪位大神可以说说原因麽?哎,写到这里的时候,突然想到,是不是usb的函数里把中断给关了,导致usos无法进行任务切换了?
这是拼音检索的主要函数,就这么简单,主程序包含下面的那个头文件就可以了。、
编译环境,这好像就没什么限制了吧,呵呵
u8 *PY(char *str)
{
u16 i=0;
u8 j;
u8 k=0;
u8 num;
PYindex tmp;
while(str[i++]!=0)
k++;
num=k;
for(i=0;i<399;i++)
{
j=0;
k=num;
while(k--)
{
if((str[j]!=py_index.py_input[j]))
break;
j++;
if(str[j]==0)
return py_index.PY_mb;
}
}
return py_index[0].PY_mb;
}
这就是主要程序,入口参数是输入的拼音字符串,返回参数是符合该拼音的所有汉字的首地址
比如说输入“a”,返回的是"啊阿腌吖锕厑嗄錒呵腌"的首地址。
输入“ao”,返回的是"凹敖熬翱袄傲奥懊澳坳拗嗷螯鏊鳌鏖岙廒遨媪骜獒聱"的首地址。
定义一个char *PYBuf 来接收返回值。
for example:
PYBuf=PY("ao");
printf("%s",PYBuf);
然后串口输出的就是
凹敖熬翱袄傲奥懊澳坳拗嗷螯鏊鳌鏖岙廒遨媪骜獒聱 这些了。
以后该怎么做就是你们自己决定了。
至于短信界面,汉字后面的背景是自己用字模生成的,长度可以根据字符串的长度自动改变。
如果信息的个数少于8,会从上往下依次显示,当信息个数大于8时,会滚动显示,而且最新的 信息在最下面,就像现在手机上的短信一样。
这是用一个二维数组的实现的。循环显示。
至于工程我就不上传了,因为这只是我毕设的一小部分,主体是无线通信,MP3和图片等一些娱乐功能是次要的。
不足的地方或者还可以添加的还希望各位多多指教,离毕设答辩还有半个多月,希望还来得及改。
在上传一主界面和音乐播放的界面的图片吧,个人比较喜欢简洁风,模仿的是wp7的风格。我的屏幕上面那一小部分压坏了,所以显示不好。
图片都是自己p的。因为,你懂得、、、、、、、O(∩_∩)O~
实际测试,播放320kbps的音乐不会卡,当然,在浏览图片的 时候会卡一小下。
|