f407vet6,代码不多,就不写h文件了,有问题,希望大家指证! 需要我这前的的gpio类支持 LED:ED(GPIO_TypeDef * gpio,u8 pin) { port=PORT(gpio,pin);) H- `5 ]) S$ T% p3 f ~2 b2 ^ port.setMode(GPIO_Mode_OUT); } 1 F7 @: X7 [6 _! u/ B5 n+ L void LED::Turn(bool state){ (state?port.Low():port.High());* b5 z) f( ~; v6 C: J }+ o8 n* Q$ j4 |6 t/ B- J0 U void LED::Turn(u16 _delay,u16 count) { Turn(false); for(int i=0;i<count;i++) {( {1 n. P, ^( `8 v6 ^ Turn(true);$ b: T% h( \: ]1 V& U delay_ms(_delay);. g' k" v( D* E; W J. A7 O Turn(false); delay_ms(_delay); } } void LED::Frash(u16 n) { n*=2;9 p' S- S$ t1 p/ @6 o while(n--) {/ h% m( H2 Y& O q' Q' s' I$ y5 [& @ J2 ^ Turn(n%2?false:true);- ~* s3 x w) X for(u32 i=0;i<1000;i++) for(u32 j=0;j<1000;j++);4 U% H- F6 f8 |2 s% y% f; L0 m }% }- T; o: @0 d' q: x Turn(false); } ' ~% G* C5 K# L9 B: e" Q6 O =========使用- s) o& K, ~5 A7 S LED led(GPIOA,9); led.Turn(true)亮,led.Turn(false);暗& E1 R( P$ o' ~- A$ L1 x* Y9 |# z Turn(1000,4) 隔一段时间,闪几次 |
重载=号,封装成hpp,实现单文件引用 |