你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

C++封装类 LED

[复制链接]
wecreate 发布时间:2019-8-16 16:13
f407vet6,代码不多,就不写h文件了,有问题,希望大家指证!
/ o* E: h! s9 [  O% T% }需要我这前的的gpio类支持4 ^& a/ x  X4 N% @# Z
LED:ED(GPIO_TypeDef * gpio,u8 pin) {; }* j; O+ m& m7 H
                port=PORT(gpio,pin);  B0 r, u2 V9 O! B3 @$ v
                port.setMode(GPIO_Mode_OUT);& k6 k0 y7 T" S/ _
}% f. k* x# D: q. t
) e! @0 |, g; {0 ^0 m
void LED::Turn(bool state){  Z& d% t6 ]5 h. j6 s
        6 X# T! \+ u' J$ O% {+ E
                (state?port.Low():port.High());& q/ V: e* ^1 @* R; b
}0 P0 I( u, J6 E, K  z! v
void LED::Turn(u16 _delay,u16 count) {3 }( g% h/ e. d) r
                Turn(false);
0 k. `% ~4 Z1 V* m( P                for(int i=0;i<count;i++) {# T3 h/ ]3 P; N% c5 E8 J
                                Turn(true);% f( U/ K) b( K+ r6 }. x+ T. `/ M
                                delay_ms(_delay);* G$ U1 T8 i/ @
                                Turn(false);
7 B, y2 V  F6 ?+ e/ C                                delay_ms(_delay);
! M" ]' {% k. I' H                }+ p+ m  \7 [" M) k$ P& O
}. _/ w1 ?! E9 P8 }
void LED::Frash(u16 n) {
" A- I5 \& F" d- I                n*=2;0 }0 \2 k# d1 S/ ~) k% \# t
                while(n--) {  d" u: d# y5 c$ n2 s! Z0 S; p; [
                                Turn(n%2?false:true);# f2 `7 a, ^; w  A( O" F. r
                                for(u32 i=0;i<1000;i++) for(u32 j=0;j<1000;j++);/ s$ W; T# g0 d3 N4 y
                }
3 z3 `, M- P" W' r% b% k* ^                Turn(false);
8 V) {5 A2 a# T  J! r7 r' q}
8 w6 T* @! U  c" D
+ ]. G, N6 S  d3 j, p4 w0 E2 }4 y=========使用  ~; H! S9 J1 E) r5 m! F
LED led(GPIOA,9);
2 G* L( V' `) F; Hled.Turn(true)亮,led.Turn(false);暗
. S& j* }+ K3 STurn(1000,4) 隔一段时间,闪几次
收藏 评论1 发布时间:2019-8-16 16:13

举报

1个回答
Dandjinh 回答时间:2019-8-16 21:20:06
重载=号,封装成hpp,实现单文件引用

所属标签

相似分享

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版