-
Notifications
You must be signed in to change notification settings - Fork 3
/
stm32f4_delay.c
116 lines (110 loc) · 4.92 KB
/
stm32f4_delay.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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
/*=====================================================================================================*/
/*=====================================================================================================*/
#include "stm32f4_system.h"
#include "stm32f4_delay.h"
/*=====================================================================================================*/
/*=====================================================================================================*
**函數 : Delay_nop
**功能 : 延遲一個while時間
**輸入 : nCnt
**輸出 : None
**使用 : Delay_nop(Times);
**=====================================================================================================*/
/*=====================================================================================================*/
void Delay_nop(vu32 nCnt)
{
while (nCnt--) {
}
}
/*=====================================================================================================*/
/*=====================================================================================================*
**函數 : Delay_1us
**功能 : 延遲 1us
**輸入 : nCnt_1us
**輸出 : None
**使用 : Delay_1us(Times);
**=====================================================================================================*/
/*=====================================================================================================*/
void Delay_1us(vu32 nCnt_1us)
{
u32 nCnt;
for (; nCnt_1us != 0; nCnt_1us--)
for (nCnt = 45; nCnt != 0; nCnt--);
}
/*=====================================================================================================*/
/*=====================================================================================================*
**函數 : Delay_10us
**功能 : 延遲 10us
**輸入 : nCnt_10us
**輸出 : None
**使用 : Delay_10us(Times);
**=====================================================================================================*/
/*=====================================================================================================*/
void Delay_10us(vu32 nCnt_10us)
{
u32 nCnt;
for (; nCnt_10us != 0; nCnt_10us--)
for (nCnt = 556; nCnt != 0; nCnt--);
}
/*=====================================================================================================*/
/*=====================================================================================================*
**函數 : Delay_100us
**功能 : 延遲 100us
**輸入 : nCnt_100us
**輸出 : None
**使用 : Delay_100us(Times);
**=====================================================================================================*/
/*=====================================================================================================*/
void Delay_100us(vu32 nCnt_100us)
{
u32 nCnt;
for (; nCnt_100us != 0; nCnt_100us--)
for (nCnt = 5400; nCnt != 0; nCnt--);
}
/*=====================================================================================================*/
/*=====================================================================================================*
**函數 : Delay_1ms
**功能 : 延遲 1ms
**輸入 : nCnt_1ms
**輸出 : None
**使用 : Delay_1ms(Times);
**=====================================================================================================*/
/*=====================================================================================================*/
void Delay_1ms(vu32 nCnt_1ms)
{
u32 nCnt;
for (; nCnt_1ms != 0; nCnt_1ms--)
for (nCnt = 56580; nCnt != 0; nCnt--);
}
/*=====================================================================================================*/
/*=====================================================================================================*
**函數 : Delay_10ms
**功能 : 延遲 10ms
**輸入 : nCnt_10ms
**輸出 : None
**使用 : Delay_10ms(Times);
**=====================================================================================================*/
/*=====================================================================================================*/
void Delay_10ms(vu32 nCnt_10ms)
{
u32 nCnt;
for (; nCnt_10ms != 0; nCnt_10ms--)
for (nCnt = 559928; nCnt != 0; nCnt--);
}
/*=====================================================================================================*/
/*=====================================================================================================*
**函數 : Delay_100ms
**功能 : 延遲 100ms
**輸入 : nCnt_100ms
**輸出 : None
**使用 : Delay_100ms(Times);
**=====================================================================================================*/
/*=====================================================================================================*/
void Delay_100ms(vu32 nCnt_100ms)
{
u32 nCnt;
for (; nCnt_100ms != 0; nCnt_100ms--)
for (nCnt = 5655000; nCnt != 0; nCnt--);
}
/*=====================================================================================================*/
/*=====================================================================================================*/