首頁的列表是不是變得清爽且具備吸引力了?
這裡放標題 (二級標題)#
準備用來撰寫玩張用的測試文件。這裡可以自由使用 粗體、斜體 或者 連結。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
/*---------------------------------------------------------------------------*/
/* 馬達驅動設置 */
static GRESULT GCMCMotorDriveSetup(GCMCCDS GGD_XMEM *lpControlDS)
{
/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
/* -= 操作 =- */
/*-----------------------------------------*/
/* 處理動作選擇 */
switch(lpControlDS->bytActionSelection)
{
/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
/* -= step counting =- */
case GCMC_ACTION_SELECTION_STEP_COUNTING:
{
/* 避免在此之前,曾有被人為推動改變刻度,這裡在重讀一次 */
GCSCCControl(GCSCC_CONTROL_CODE_GET_COUNTER_VALUE, lpControlDS->lpDeviceSetupDS->bytStepCounterDevice, &(lpControlDS->iStepCounterCurrentValue));
/* */
if(lpControlDS->iStepCounterTargetValue == lpControlDS->iStepCounterCurrentValue)
{
lpControlDS->bytDirectionSelection = GCMC_DIRECTION_SELECTION_STOP;
return GGD_FALSE;
}
else if(lpControlDS->iStepCounterTargetValue > lpControlDS->iStepCounterCurrentValue)
{
lpControlDS->bytDirectionSelection = GCMC_DIRECTION_SELECTION_FRONT;
GCMCMotorDriveFrontSetup(lpControlDS);
}
else
{
lpControlDS->bytDirectionSelection = GCMC_DIRECTION_SELECTION_REAR;
GCMCMotorDriveRearSetup(lpControlDS);
}
break;
}
/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
/* -= front direction =- */
case GCMC_ACTION_SELECTION_FRONT_DIRECTION:
{
lpControlDS->bytDirectionSelection = GCMC_DIRECTION_SELECTION_FRONT;
GCMCMotorDriveFrontSetup(lpControlDS);
break;
}
/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
/* -= rear direction & homing =- */
case GCMC_ACTION_SELECTION_HOMING:
case GCMC_ACTION_SELECTION_REAR_DIRECTION:
{
lpControlDS->bytDirectionSelection = GCMC_DIRECTION_SELECTION_REAR;
GCMCMotorDriveRearSetup(lpControlDS);
break;
}
/*-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/
/* -= others =- */
default:
{
lpControlDS->bytDirectionSelection = GCMC_DIRECTION_SELECTION_STOP;
return GGD_FALSE;
}
}
return GGD_OK;
}
|