因为最近在学习用C++写单片机,所以拿G071来实验一下,希望诸君不吝赐教,指点我的不足和错误!
$ j( O0 D% {+ Y5 {+ t$ A1 E压缩包一直传不上,发网盘吧。
' k3 t+ q2 S( k* W% G3 z) Y链接:https://pan.baidu.com/s/1Qlae5WM1jk87iawBomTayA . P, [. ^+ q) z y# u- A) n$ Z
提取码:0x3v
- y; R$ r% Z% Y复制这段内容后打开百度网盘手机App,操作更方便哦$ P1 U$ r" `3 f1 X7 o3 U2 d( |
3 x! [) Y% ^8 b, d/ {( O, s# X
一、通过CubeMX来生成HAL库的初始设置
9 A& S0 L% ~+ l- G1 x' a. T这一步和C没什么区别。$ }% b' ^5 q+ W3 \" S
设置为板卡默认初始化,频率64M,PA5默认低电平(灭灯)。
$ Y2 g/ i, q2 x4 P0 a) a6 m
8 C, I. Y' | ^8 c% k
. n% x% ]) R5 ~. i- q3 o# a: D
# G, u+ D' \% d4 G' O/ v% p二、设置编译器和main文件. a; c* O& M& q3 V6 l
1、编译器Target的ARM Compiler是V6以上,则可支持C++11全部特性。 ^, [' Q) p9 m* g
& f! o6 F5 B* q) A5 s8 M, S
2、将主文件main的File Type设置为C++,既可以被C++编译器编译,又可以被Cube修改(不过每次修改后要重新设置)。
C2 w1 Z5 ]8 Q( F, I f0 c8 p9 w/ m
5 ?( u" q2 G0 \% g; N+ U" ^
) Y/ k+ l$ d5 b1 w5 S$ I7 ^) x* `$ `/ P
三、部分代码
: u; W$ E# E3 b% t- while (1)) q+ L: \, _9 p3 u
- {
' V( L/ j+ ?$ J - led.TOGGLE();
3 C7 _- S" z4 n, z/ D/ s# _1 ^" q - HAL_Delay(1000);# F( @7 _+ c" T3 O1 H
- /* USER CODE END WHILE */
. E9 k/ N! n! j; c) r# p7 i8 `: P5 @ - 0 U9 [5 q1 k. K
- /* USER CODE BEGIN 3 */; d& S% ^3 u/ l" X% p# \! u$ W
- }
复制代码- //cpp文件5 x+ c: u& g5 q
- void LED::ON(void)
- R: X0 h3 b9 O/ \ - {
F3 h: K! |# z7 A! b+ c0 i1 W. T - HAL_GPIO_WritePin(LED4_GPIO_Port,LED4_Pin,GPIO_PIN_SET); // 输出高电平* N% C+ L( P! ?
- }
+ u* }' z. h6 v8 L4 n, ]& B
/ g, z8 K$ C0 D h( A r- void LED::OFF(void) N& |5 r* |1 }5 n' ]
- {& |( S5 ~! l# b, N4 Y: J+ i, c: S
- HAL_GPIO_WritePin(LED4_GPIO_Port,LED4_Pin,GPIO_PIN_RESET); // 输出低电平
- A1 ], R5 f8 I0 v - }8 K5 g7 ~ n- s' U ~- t
# f& ~- a* \7 o: m" ~) _- void LED::TOGGLE(void)
+ x2 C5 u/ \5 a# t7 X v, T5 a - {" a d+ t2 }! R: i' X
- HAL_GPIO_TogglePin(LED4_GPIO_Port,LED4_Pin); // 输出反转' R, N1 n1 Q/ c& x b4 w: v2 v
- }
# w, _ O: y! J2 s. E - LED led;
复制代码- //h文件& \+ j" p) `2 B0 a+ K
- class LED
! H0 z0 Y# o& M* O: H6 i5 Q - {$ N; _2 I, P* v
- public:
4 J) _5 j% K8 m, U; \ - void ON(void);7 [% `" J$ I1 ~& M8 [3 h
- void OFF(void);
1 O6 J9 [0 p& W0 v - void TOGGLE(void);
$ J. E( w, q: Z8 ^$ N - };
2 d# r9 e9 ~" h, J1 X - extern LED led;class LED! D& I, j |! U/ {3 ?
- {
6 D0 M6 y' t9 `: m( s" T, f o - public:
1 h- q7 J* e8 l7 u x - void ON(void);$ |, G3 j; _/ H9 L# J l, J
- void OFF(void);+ l Y8 Q1 p+ D4 y9 l7 N
- void TOGGLE(void);
6 Q! g! T. C+ C4 e - };
z3 ]( n9 K) X$ c+ D3 y6 K4 N7 i- p - extern LED led;9 g+ j. f' V' v$ _' j# x8 ^- Z: w& ~
复制代码
7 V& W) J/ |4 C2 S2 J1 _
1 G! H6 V5 K5 m" ]" E |
评分
查看全部评分
嗯嗯,多谢了。