继续代码之旅。。什么时候能结束啊。。
在程序开始,初始化界面,初始化布局,初始化串口类(SIM300的mycom和摄像头camera),初始化串口设置(这个函数一直没看懂,不过貌似也就是初始的时候用,不懂貌似。。不影响。)
有几个定时器:readTimer,sendTimer,CameraReadTimer
4个槽函数:readMycom(),sendMSG(),TimerSend(),CameraReadTimeOut()
readMycom在readTimer定时时间到了后调用,sendMSG在按钮点击发送时出发。CameraReadTimeOut在CameraReadTimer定时器时间到的时候出发。
有几个判断值:sendBack 判断发送命令是否返回 SerailCamerKey判断是否开始读取摄像头 SerailCamerReadNum 初始为0,没读取一次+1.
初始化控件里面,给readTimer定时1秒,1秒后,触发readMycom槽函数。
readMycom()中:先读取串口1,读取SIM300的命令返回,先检测是否有短信,如果有短信的话,就把原来的数据清空,插入最新的数据,在把信息传给JudegeCMD(temp)函数判断。JudegeCMD()函数里面,把收到的信息去掉空格,如果信息包含“at+cmgr=”说明有短信来,则把信息的电话号码和内容取出。得到号码和内容后调用JudegeMSG()函数,先把手机号码前后加上引号,在用at+cgms=后接上号码。如果信息内容里面包含开灯,则调用sendCMD()函数发送命令在发送回车。这里有int i=10000;while(i--);不知道是不是延迟时间的。。然后用CtlLed(1)函数来亮灯,返回值是ret,=0时代表有效。开灯成功,否则开灯失败。把成功或失败的信息写给串口类,并加上结束符。(关灯类似,只是一开始判断信息内容是不是close light).如果是get pic,则要调用控制摄像头的函数。开启摄像头。
看了半天,看到后面不对头。。才才才发现。。看错文件了!我倒。。不过通过这个不对的程序倒是看懂了一些东西,而且和正确的程序有些地方才差不多。哎。。伤感。。受不了我了。。继续加油吧~!要去把正确的文件打印出来了。。