📄 main123.lst
字号:
285 }
286 cDirectVertical=1 ;
287 T0_stop();
288 if(cDirectVerticalLim==1 )
289 break;
290 cDirectVerticalLim=0;
291 T1_start();
292 break;
293 case 0x0010: //向下
294 if(cAutoScan==1)
295 {
296 T0_stop();
297 cAutoScan=0; //自动扫描标志
298 }
C51 COMPILER V8.05a MAIN123 11/06/2008 11:08:29 PAGE 6
299 cDirectVertical=-1 ;
300 T0_stop();
301 if(cDirectVerticalLim==-1 )
302 break;
303 cDirectVerticalLim=0;
304 T1_start();
305 break;
306 case 0x001f: //自动扫描 1 pattern start
307
308 cAutoScan=1; //自动扫描标志
309 cDirectHorizon=1;
310 T0_start();
311 break;
312 case 0x0023: //自动扫描 2 run pattern
313
314 cAutoScan=1; //自动扫描标志
315 cDirectHorizon=1;
316 T0_start();
317 break;
318 case 0x0007: //自动扫描 3 preset类功能
319
320 cAutoScan=1; //自动扫描标志
321 cDirectHorizon=1;
322 T0_start();
323 break;
324 /*
325 case 0x0021: //自动扫描关闭
326 T1_stop();
327 T0_stop();
328 Focus_stop();
329 Zoom_stop();
330 cAutoScan=0; //自动扫描标志
331 break;
332 */
333 case 0x0004: //向左 左右由T0控制
334 if(cAutoScan==1)
335 {
336 T0_stop();
337 cAutoScan=0; //自动扫描标志
338 }
339 cDirectHorizon=1;
340 T1_stop();
341 if(cDirectHorizonLim ==1 )
342 break;
343 cDirectHorizonLim =0;
344 T0_start();
345 break;
346 case 0x0002: //向右
347 if(cAutoScan==1)
348 {
349 T0_stop();
350 cAutoScan=0; //自动扫描标志
351 }
352 cDirectHorizon=-1;
353 T1_stop();
354 if(cDirectHorizonLim ==-1 )
355 break;
356 cDirectHorizonLim =0;
357 T0_start();
358 break;
359 case 0: //结束所有运动 1标准
360 T1_stop();
C51 COMPILER V8.05a MAIN123 11/06/2008 11:08:29 PAGE 7
361 T0_stop();
362 CameraStop();
363
364 break;
365
366 default :break;
367 }
368
369 break;
370 }
371 else
372 { //不是本球机的接收码ID不正确或者是一误码都必须会结束
373 cKeyCodeReceiveState=0;
374 break; //处理并且清除接收标志
375 }
376
377 default: break;
378 }
379
380 }
381 }
382 break;
383
384
385 case 12: //PELCO-D协议
386
387 while(1)
388 {
389 WDT_cls();
390
391 if(12!=cProtocal) // 利用协议出错处理
392 {
393 goto ERRor;
394 }
395
396 if(cKeyCodeReceiveState)
397 {
398 cKeyCodeReceiveState=0; //取走第一个码
399 switch(cKeyCodeReceive)
400 {
401 case 0xff: //防误码先接收一个FF后接下来进行 判断是否下个码
402
403
404 while(!cKeyCodeReceiveState) //对于键盘发出的选择球机也是七位FF开始的码
405 {
406 _nop_();
407 }
408 // cKeyCodeReceiveState=0;
409 if(cKeyCodeReceive==0xff) //判断是否是误码,FF说明是误码
410 { //不进行处理转入从头开始的循环
411 //不清标志
412 break;
413 }
414 else if( cKeyCodeReceive==id) //说明是正确的键盘码转入处理程序
415 {
416
417 x=2;
418 pKeyCode=sKeyCode;
419 *pKeyCode=0xff; //起始同步码
420 ++pKeyCode;
421 *pKeyCode=id; //ID码
422 cKeyCodeReceiveState=0;//已取走第二个码
C51 COMPILER V8.05a MAIN123 11/06/2008 11:08:29 PAGE 8
423 do
424 {
425 // x=x + *pKeyCode ; //从第二个开始累加校验
426 while(!cKeyCodeReceiveState) //读码等待
427 {
428 _nop_();
429 }
430 ++pKeyCode;
431 *pKeyCode=cKeyCodeReceive;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -