f407vet6,代码不多,就不写h文件了,有问题,希望大家指证! 需要我这前的的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); 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); delay_ms(_delay); }+ p+ m \7 [" M) k$ P& O }. _/ w1 ?! E9 P8 } void LED::Frash(u16 n) { 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 } Turn(false); } =========使用 ~; H! S9 J1 E) r5 m! F LED led(GPIOA,9); led.Turn(true)亮,led.Turn(false);暗 Turn(1000,4) 隔一段时间,闪几次 |
重载=号,封装成hpp,实现单文件引用 |