因为最近在学习用C++写单片机,所以拿G071来实验一下,希望诸君不吝赐教,指点我的不足和错误!: W; W5 Y5 c# N6 o
压缩包一直传不上,发网盘吧。
9 ^- @1 @( r, p% ?$ ^, ]: j" T6 w链接:https://pan.baidu.com/s/1Qlae5WM1jk87iawBomTayA
. f$ m1 ^! T( l提取码:0x3v
8 m- v7 N" z9 E" | z复制这段内容后打开百度网盘手机App,操作更方便哦9 O6 I. l) b C M4 [# W N
! q, B/ q: K6 E+ }
一、通过CubeMX来生成HAL库的初始设置7 k; L: ?4 F* G
这一步和C没什么区别。& m( v$ Z$ l7 I0 Y) j
设置为板卡默认初始化,频率64M,PA5默认低电平(灭灯)。
' R8 x! R& L! l) L+ g# M8 w6 H
/ {* w O9 i# A2 |2 }; q' e1 R. f# j' d+ N9 \2 o
z; f; ]( O1 N7 L6 p1 o二、设置编译器和main文件
/ Y3 o+ q/ O, X8 a1、编译器Target的ARM Compiler是V6以上,则可支持C++11全部特性。; e0 s' }; Z. z4 C7 D
) w9 V8 V! b- ] P; E# a
2、将主文件main的File Type设置为C++,既可以被C++编译器编译,又可以被Cube修改(不过每次修改后要重新设置)。! D% X* E0 `; _% d( {- p
e- }6 b! S4 A6 c
4 U/ f8 v4 F6 e g
- B0 y0 P# D. I+ _# H三、部分代码* p) ~$ O0 l# h' j8 M
- while (1)' {7 d g+ f6 c1 W3 E( L
- {7 o q* P# g9 {6 y
- led.TOGGLE();
' |+ Y) G' K @# R3 z9 l - HAL_Delay(1000);' H# {# |3 K3 }. m
- /* USER CODE END WHILE */
4 e8 L4 G( U4 K4 w! ~, G
) M ~( ^8 v/ h7 Y6 C- /* USER CODE BEGIN 3 */3 _& G0 j8 x% u/ a) ^7 s
- }
复制代码- //cpp文件
& {3 _- Y# J6 v! `4 s+ |8 W' y! t - void LED::ON(void)
6 _! s2 |. u# J4 T! a) u7 t7 v - {) [4 ~* P1 ?9 u1 ^! U
- HAL_GPIO_WritePin(LED4_GPIO_Port,LED4_Pin,GPIO_PIN_SET); // 输出高电平
0 @+ N' v6 u* J6 X - }
" m; y* o: l( h* P% ^9 R% [
* l3 K8 ]) a' K8 q3 E- void LED::OFF(void)( X* C; W' J8 a2 C* x- V" L
- {+ e( Z7 c: l! N+ d2 k: B" ]; u
- HAL_GPIO_WritePin(LED4_GPIO_Port,LED4_Pin,GPIO_PIN_RESET); // 输出低电平; e3 G- I3 Q `) b% H8 I/ N. K7 a
- }
9 S- L5 ]; j! Y, S( A
- \& C+ s, [0 T" R4 _5 ~( F- void LED::TOGGLE(void)- T4 c, q y4 E- [: B
- {( w5 H1 j, }' M8 J" i
- HAL_GPIO_TogglePin(LED4_GPIO_Port,LED4_Pin); // 输出反转
" b' G% ~$ b' i% ?/ { - }
( M% e, W7 O h8 @# o - LED led;
复制代码- //h文件* z8 B7 K x5 d y
- class LED; O* Z- T/ i/ U2 E5 c
- {7 }8 e' d+ w5 }. M
- public:
# P* O( o# e9 O8 V6 E+ y - void ON(void);
y: m0 W5 _1 a( I4 @; a% @5 k - void OFF(void);' }* q+ d& O6 l
- void TOGGLE(void);
9 l" O) `. M6 @+ O1 w! s - };6 N {" D, r! B. v5 c9 z
- extern LED led;class LED
! [& c7 L0 a8 X$ q3 `1 p - {
* d Z8 d$ Q! k9 V; s J! ` - public:
6 W! m% C8 `1 d9 e2 E - void ON(void);' s: s' e- P+ E
- void OFF(void);* U3 ?: M- r: \! Y) Z1 R
- void TOGGLE(void);3 X. _# J) I/ E7 r" ?
- };8 z: n, w6 u! x2 _) v. A: t$ ?
- extern LED led;: a, _/ r2 O3 k
复制代码 ) t7 s+ X. n% @% F0 F
( i% h* H6 t! m8 i5 W |
评分
查看全部评分
嗯嗯,多谢了。