-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathpower.c
74 lines (67 loc) · 1.33 KB
/
power.c
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
#include "head.h"
//启动(进行初始化)
void boot()
{
bluetoothInit(); //通讯串口初始化(使用定时器1)
//等待接收启动命令
while (SBUF != 0x0b && press != 0)
;
oled_show_index();
//自检
while (xxZ == 1 || xxY == 1 || bzZ == 0 || bzY == 0)
{
if (xxZ == 1 || xxY == 1)
{
fmq(50);
oled_cover_square(STATUS1, 1, xunxian);
delayms(500);
oled_cover_square(STATUS1, 1, emp);
}
if (bzZ == 0 || bzY == 0)
{
fmq(50);
oled_cover_square(STATUS2, 1, bizhang);
delayms(500);
oled_cover_square(STATUS2, 1, emp);
}
delayms(500);
}
if (ENbz)
{
oled_cover_square(STATUS2, 1, bizhang);
}
if (ENxx)
{
oled_cover_square(STATUS1, 1, xunxian);
}
if (atoDrive)
{
oled_cover_square(STATUS3, 1, atoD);
}
if (atoGear)
{
oled_cover_square(STATUS4, 1, atoG);
}
fmq(500); //障碍、离地检测完毕
//定时器初始化
pwmInit0(); //pwm调速定时器初始化(使用定时器0)
Timer2Init(); //AI挂挡定时器初始化(使用定时器2)
// fmq(500);//定时器初始化完毕
gear = 0;
gearShowRefresh();
}
void powerOff()
{
ISP_CONTR = 0x20; //软件复位,重新开始执行程序
}
void press_detect()
{
if (press == 0)
{
delayms(2000);
if (press == 0)
{
powerOff();
}
}
}