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

C++封装类 LED

[复制链接]
wecreate 发布时间:2019-8-16 16:13
f407vet6,代码不多,就不写h文件了,有问题,希望大家指证!
8 G. B* u9 b4 {/ Q7 s9 K需要我这前的的gpio类支持
4 @5 w1 _# k# I1 O% l  iLED:ED(GPIO_TypeDef * gpio,u8 pin) {( p6 ]$ U; K( H& T9 w4 |0 {
                port=PORT(gpio,pin);
5 W' q* N! e* G" i/ F, s* R' m                port.setMode(GPIO_Mode_OUT);" L  Y% t' Q& G9 v' t
}) @& r6 Y7 w- H* q
! J9 j6 k" |- v  [9 r
void LED::Turn(bool state){
1 y' b5 e, x, P( c% `( J        . f9 v, z7 L/ E8 B! [
                (state?port.Low():port.High());
; h% q. G& t1 ^; f: `}
9 B" b, C; b2 p& ?# n7 Wvoid LED::Turn(u16 _delay,u16 count) {  L0 Y& U; C* S: v
                Turn(false);
' R7 [; \5 o) Z5 K4 |                for(int i=0;i<count;i++) {) V' g$ x9 q% [
                                Turn(true);
6 J6 I# J$ v$ g; D* Z) B* h                                delay_ms(_delay);; u, l9 h- j2 K$ s
                                Turn(false);/ S2 H# D0 I- s/ [# n
                                delay_ms(_delay);4 K7 O, j2 C% T: L$ h
                }. F: {) z6 e& l3 k, U
}
+ Q; l. r3 O8 Q  Q* svoid LED::Frash(u16 n) {& G6 v9 y9 x1 C8 Y" @1 i9 ^! [+ l
                n*=2;
. F* u( z9 P8 u5 M$ d                while(n--) {
  H6 R: I/ H8 ]$ e, e( t                                Turn(n%2?false:true);
6 v* z' U6 Q: L, `+ a7 Q                                for(u32 i=0;i<1000;i++) for(u32 j=0;j<1000;j++);& K* S4 o+ ~( o7 h
                }
7 Q* Q5 g  e& u* _# e                Turn(false);
" E; ~: y$ D& q# u) B2 B}
7 L- H9 [7 Z& @1 O, X& }; N$ [% y, T
' [9 a& H7 A1 }=========使用
: f" Y3 s" ?- ]8 J; \. V+ c, _5 ?8 HLED led(GPIOA,9);
. C0 X; O2 q; I9 ^6 Z+ w% Nled.Turn(true)亮,led.Turn(false);暗
( |1 l3 X$ L# |# cTurn(1000,4) 隔一段时间,闪几次
收藏 评论1 发布时间:2019-8-16 16:13

举报

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

所属标签

相似分享

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