因为最近在学习用C++写单片机,所以拿G071来实验一下,希望诸君不吝赐教,指点我的不足和错误!+ I4 _% J3 k/ {0 k( E
压缩包一直传不上,发网盘吧。- Z2 W+ E$ K8 @
链接:https://pan.baidu.com/s/1Qlae5WM1jk87iawBomTayA
) r1 d% x5 ^5 L7 @2 D: {) E1 V提取码:0x3v " E. m; E: D# @( q9 ^+ {/ r5 V: Z
复制这段内容后打开百度网盘手机App,操作更方便哦
( n; ?6 B6 j8 H! L* J$ C
! W) ^! h' M9 a- b7 S! S一、通过CubeMX来生成HAL库的初始设置! H n; Q) z h$ s! J% J' I6 v6 u$ w
这一步和C没什么区别。
O2 F! V. L; i1 I设置为板卡默认初始化,频率64M,PA5默认低电平(灭灯)。
1 m( T: M9 \( Z# C
L" n- @* f3 f( [; c
6 G7 a! |' m$ Y( }% w( s% k0 t
$ e5 @6 s2 c( P4 u& k4 C3 e
二、设置编译器和main文件
0 p) g$ R6 O- G4 `1、编译器Target的ARM Compiler是V6以上,则可支持C++11全部特性。1 n1 g+ u! L f
3 P8 f, }/ B D1 L9 C/ j
2、将主文件main的File Type设置为C++,既可以被C++编译器编译,又可以被Cube修改(不过每次修改后要重新设置)。
; A% D% @7 h. C! u3 ~/ a
" s. s2 d' s% ~# e
0 J' _# E8 k# T4 T' R a
' u9 H& Y- ]# B8 ?三、部分代码
% u7 ^, w: ^, l3 A- while (1)# _; g' ^ S, s. ]5 M1 Z8 r9 G1 k% z
- {
$ H) {7 ]8 o- [* O7 @; j - led.TOGGLE();
% b3 \6 c! L7 {1 i2 R+ o: P' P - HAL_Delay(1000);8 ~9 A, Z' a6 b7 S
- /* USER CODE END WHILE */( b8 O; J& U5 r3 \3 O; U6 w
- " Z& \. z1 [4 B3 d" W4 U
- /* USER CODE BEGIN 3 */
; ]; V4 U8 X2 N - }
复制代码- //cpp文件
; l% @. \ h- K) u - void LED::ON(void)
" _) p. d9 K% |7 _6 w4 |/ I1 L - {3 m5 Y: O' n& ~
- HAL_GPIO_WritePin(LED4_GPIO_Port,LED4_Pin,GPIO_PIN_SET); // 输出高电平
1 s$ C: B" ?3 ~0 x9 E: k" k( X; M - }$ e( x% ?) V7 ]7 s. y$ U
- L& k4 ~/ ]/ Q. R, A3 W
- void LED::OFF(void)
6 p8 e* X! g( A7 q8 f$ @6 g - {
! H2 O3 }0 s6 @0 k! @8 B, k9 O3 o - HAL_GPIO_WritePin(LED4_GPIO_Port,LED4_Pin,GPIO_PIN_RESET); // 输出低电平
0 }5 V! x- A- n2 x/ B4 w6 e - }
3 O5 H c# O$ p - 3 U8 {1 A* M& Y+ |
- void LED::TOGGLE(void); b. I. w! X* W( ]6 c/ H: Z$ O m
- {
4 i9 [9 a) |' G - HAL_GPIO_TogglePin(LED4_GPIO_Port,LED4_Pin); // 输出反转, W$ K3 f' W& j2 Y
- }
: B* J0 B/ f! }! v1 p - LED led;
复制代码- //h文件
% d' A* o0 l6 T/ P" x( v5 w, w; y! E - class LED
! i0 ?- x8 J. R0 Q4 r - {
/ c+ S5 h8 t4 b2 Z. }6 I - public:7 J, I4 i4 X9 p5 |0 v
- void ON(void);; y, q3 I# x( {
- void OFF(void); x5 x# Z5 y5 A u6 s8 R
- void TOGGLE(void);7 Q, Q+ v7 \1 F
- };
* A' y7 y3 i0 c9 J% i2 \ - extern LED led;class LED
" S1 `7 N& Y, e4 [ - {1 A" Y1 Y6 V$ j3 J: L5 g! L0 o
- public:' ?6 I% h3 T9 n1 u, P0 n
- void ON(void);
6 \0 I# y: q& i2 b! ]& T2 z - void OFF(void);
: ^) Y x j0 p$ Q - void TOGGLE(void);
4 l4 r! J+ K t6 K - };
) t; M; l1 G3 o0 G2 t ?( _7 C( O0 W" z5 J - extern LED led;
8 U. o7 v3 y" M# T' c& t1 f
复制代码 # E, e! o6 i( h/ U9 r, }& ?
( X4 b; O1 \; g# K |
评分
查看全部评分
嗯嗯,多谢了。