因为最近在学习用C++写单片机,所以拿G071来实验一下,希望诸君不吝赐教,指点我的不足和错误!- u. L7 C% n% d% S+ c
压缩包一直传不上,发网盘吧。$ \9 N' s1 @2 j2 G% C* U* h w
链接:https://pan.baidu.com/s/1Qlae5WM1jk87iawBomTayA
1 T, U# j0 ?4 L提取码:0x3v 5 Q9 Y. F; a% Q4 }/ t( b8 W
复制这段内容后打开百度网盘手机App,操作更方便哦7 f9 Z# F0 I% i4 u6 D
3 b. ?1 C$ e* M5 Y% A
一、通过CubeMX来生成HAL库的初始设置
& t2 A& V5 D1 [# ?这一步和C没什么区别。
/ S2 Q6 |9 n0 W `# d1 Z% N设置为板卡默认初始化,频率64M,PA5默认低电平(灭灯)。, z7 Z% ~( g' V) ^7 E- k
& ^$ C) A( E, s$ Z" }
: i: ~4 K8 r* \8 o" \! h$ ~
3 r5 f( l( g* m6 {/ N二、设置编译器和main文件% H2 V2 a+ D. E
1、编译器Target的ARM Compiler是V6以上,则可支持C++11全部特性。
9 I1 W, h$ w( n! `2 s( P
6 n! n* ~' s: o4 f) g: v
2、将主文件main的File Type设置为C++,既可以被C++编译器编译,又可以被Cube修改(不过每次修改后要重新设置)。
- q7 S- ~- n* R. C$ ?) E
y8 N- v$ F+ `- q% }8 ]. m* }
/ e$ i% {0 p3 q0 M. {8 _
8 J! d! a4 |* V! |+ |+ }4 @: o三、部分代码
: w$ b' L5 ~* f6 r- while (1) z+ g, |7 A# }: D- Y
- {- r/ x& ]6 e5 q! _+ r5 b4 J
- led.TOGGLE();
3 a. ?6 A- i% H5 W$ C4 i - HAL_Delay(1000);
1 x- w" q/ S; D2 I+ P/ _ - /* USER CODE END WHILE */
, ]0 \' f$ r5 d/ f+ o
; V( q6 G# m' F( f+ k1 I- /* USER CODE BEGIN 3 */# _# Z$ q3 z6 m( H5 ]! D2 i
- }
复制代码- //cpp文件
% Z3 ~, a3 A& ~7 R9 {) z3 D - void LED::ON(void)
$ A, j$ K$ x+ @% s* Q - {) Y& m$ L) C4 M7 W# b, x
- HAL_GPIO_WritePin(LED4_GPIO_Port,LED4_Pin,GPIO_PIN_SET); // 输出高电平
7 M5 H3 n/ h8 a. f' a4 I9 @2 L - }7 ^$ Q+ g) V% U- X% U: b0 P1 ?
) r- h$ e# \$ t& _8 q( F2 t- void LED::OFF(void)
8 E W. s) R; K4 C7 o/ T+ r# B - {
% k' T. j; u& O6 _ ?+ U - HAL_GPIO_WritePin(LED4_GPIO_Port,LED4_Pin,GPIO_PIN_RESET); // 输出低电平
. g/ c- \1 S1 T2 t: G. X% _/ q# J; } - }5 w |& p' w6 Y
# z1 H/ P' U7 T W! u- void LED::TOGGLE(void)( Q! s3 L$ Y" e( l K
- {
h& Q- C) K2 T; G0 f - HAL_GPIO_TogglePin(LED4_GPIO_Port,LED4_Pin); // 输出反转
, A. l& c5 p: t4 L& k) m6 d% v - }
6 e% K8 a- `) G; F# V/ n - LED led;
复制代码- //h文件
3 [; @0 k+ X) k" i: s0 b- F - class LED
$ y: S1 g* t6 a: U0 H, X' b' k - {
4 o- E0 T+ s- T4 O6 A - public:
" h' x. ~+ |* F - void ON(void);
; ^; C3 L4 K0 j$ Z( l - void OFF(void);1 E# Y2 |2 i3 j$ Y: }9 r
- void TOGGLE(void);. e$ x' Q. A/ f& [
- };
7 S8 z: U/ f A) J - extern LED led;class LED3 d# _2 t8 i- d% j& G3 {( a
- {
& ~/ b7 `/ a R- t' q" Q, z - public:' O# g5 N L" b0 S2 d2 [" a/ O+ x
- void ON(void);
! n8 l4 ~* v5 K1 d! A - void OFF(void);
& N% W: p" `7 s& Q1 w - void TOGGLE(void);4 c' k0 L6 N. }* n, z' L% s
- };' A4 i/ S6 H5 C
- extern LED led;
$ i+ P8 y) @% @+ Z
复制代码 y7 s1 ], l3 w# p) c, T
/ y7 [! Y+ N. x3 G |
评分
查看全部评分
嗯嗯,多谢了。