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

stm32f411上手试玩第一个工程----呼吸灯

[复制链接]
112207301219 发布时间:2015-8-8 16:57
在解决了pack问题后,我建了第一个工程,写了个呼吸灯。新建工程我参照的下面这个帖子,写的很详细,很好。https://www.stmcu.org.cn/module/ ... &highlight=f4115 X. t9 _$ r  x& B' j4 \( R

: a, _' e# p8 W% e" Z; }不多说,上代码:
( W8 t" w1 I5 U! J1 c, J, z, x3 E4 b1 A+ k- y+ i0 ^
' l4 Z- l( c* B& G' K
/***************bsp_led.c**********************/- m/ B4 E: O6 Q' d6 h
#include "bsp_led.h"
5 h& ?7 v2 Z* \7 |' W* T3 f- Qvoid LED_GPIO_Config(void)
) g" ~' O8 e6 t3 j5 ~! N* S{
, ]  [0 l( ]3 Z4 T  e; m/ ]9 U        GPIO_InitTypeDef GPIO_InitStructure;3 M2 }* D) s6 `
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);//??LED?IO??
, `) U! E  r( m9 ?" M  g* }+ W        GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5;                              
9 i# F+ N% I* x6 X! I( M; A& E! ^        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_OUT;       7 z* v* E5 `8 n/ i1 @- [0 r) u4 \
        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_100MHz;      
+ {$ \! i1 o* L, l4 N/ e        GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;                 
8 W8 ~8 f* r5 j9 p( g: v) ]4 M) \        GPIO_Init(GPIOA,&GPIO_InitStructure);
1 m9 U( b/ ]& r4 b$ a5 W$ N  _' W}. k- v$ ^# n7 n% }4 T
2 m4 H. i" Z; y
/*********************************************/8 R0 O% @& p8 d3 e- x  x# S

9 w* M) g/ t% b3 q; M) I. K5 `2 m2 @& i$ q; Q
5 S- U3 W9 i7 l' Y) K. h, Y
/***************bsp_led.h**********************/4 E( I* B9 R9 u- b4 _* {

2 G# b( Y: d( y0 \. h" M; M" `' H* r2 {3 {
#ifndef _BSP_LED_H_
- ^2 D. o$ B' u( v: ]#define _BSP_LED_H_
. \# Y! _5 o7 F2 q#include "stm32f4xx.h"
# b" F7 X0 L& _/ O$ ]9 V#define ON 1
5 B9 D, v' _2 g#define OFF 0
. N3 @& t* w  m- G( P& T#define LED(a) if(a) GPIO_SetBits(GPIOA,GPIO_Pin_5); else GPIO_ResetBits(GPIOA,GPIO_Pin_5)6 L7 |0 d3 O( Z% I# ~  N
void LED_GPIO_Config(void);6 i: @* P3 O2 j6 j7 ?2 u
#endif' c2 P: v8 O4 ^: ~! t, s

- x# S2 i, Y; X# N1 R. D/*********************************************/
, a' |8 K, @9 J, }8 y1 p' O# o  P* u9 ~, k

8 m; e( s. M1 \0 S2 o1 y0 ~main.c
2 r  p& o7 H8 {1 N/ z/***************main.c**********************/# ]9 B0 F$ `' O" M3 r& D
#include "stm32f4xx.h": A1 J5 D$ J& D% f5 K
#include "bsp_led.h"
2 L* l! G6 x3 z4 B#define N 1
9 o% Y& I$ u9 |/ s3 h! rvoid Delay(__IO uint32_t nCount)* S4 h2 i% X9 U  H
; Q; v" H( E  V. V2 i/ E
{# @/ k( f; F8 {8 ~& v. r1 r! T5 b; T
         while(nCount--){}
' d6 b- u' U% @7 W. U$ u8 L  ]}) ]6 ^5 I" s  b; h% q9 G
int main(void)& J4 Z+ B3 n5 p. |9 V( n: S
{   
( {, a2 Y% m+ h- s$ l        const long num=4000;
0 |5 c3 V7 {# E9 r1 N, T! F        long i=1;
! L+ h' K, V. _0 y1 ]        char flag=0;9 f6 w8 B) m4 C; F! O; e; A  f
        LED_GPIO_Config();// LED IO --PA5) I: G! l0 [& [5 v2 ~
        while (1)! f6 @5 s. M& v- P
        {
" O! g% Q3 N) G! m- T  c9 v8 L0 N                LED(ON);
1 @1 h! |; l8 d9 `; K                Delay((num-i)*N);
9 j: S1 Q) m- w  @7 z                LED(OFF);
1 Q2 \/ B  [$ O# f' P: K+ f                Delay(i*N);8 W2 F$ Z% C; Q/ a4 s
                if(flag==0)5 A# V2 w$ q' Y" ]' a8 _; A
                {
+ a* K+ y$ }* w# r9 U/ S# _4 G                        i++;
% Q: P& v+ v! A  O) a6 k                }
# E! }/ y+ f- r: d' `, `. f. S( H                else if(flag==1)
8 E- U& U0 |* T7 f" J9 H                {
8 H! K" {$ Q9 I  X+ {. V5 h                        i--;
4 `: P2 `" a  x" h                }9 `9 L, L- R6 f
                if(i>=(num-1))+ S  ^" p  J, D  T* B* g4 M2 J
                        flag=1;
, G: i* s4 |8 E' @5 W6 z+ y) J                else if(i<=1)6 p. s% [5 E% e, y- }' [# h, Z: j4 g
                        flag=0;
# S" y) o3 B! h, g* W        }: K  ~7 q% l0 y0 {, E" |7 n
}
1 }( G* y8 G' X' a% L# Z( Q* b+ C/*********************************************/
( f4 I( Y" G& p; ^7 I; f& d0 {0 F- y! b, t) M) b5 ~

' i7 r& G& ^. n/ {6 k7 Y, [/ j+ ^9 _) z" b! U$ J. G" |# Y
" h' J/ ]( @: @! \; J6 O& M0 F! V) }

- t# h: w* s: R
& h& I# B5 R( S6 W/ ]1 M" U2 n% t6 N1 z5 Y- [+ R2 O" W
' o% g! V; \$ a

+ z2 P  x+ h. B! K9 B4 D
; q; [, x# G7 t4 ^

呼吸灯20150804.rar

下载

1.37 MB, 下载次数: 54

呼吸灯

赞 收藏 1 评论18 发布时间:2015-8-8 16:57

举报

18个回答
112207301219 回答时间:2015-9-6 19:14:35
wu1169668869 发表于 2015-9-1 20:25
- z7 N; r9 \- V2 S$ h9 }1 I所以竟然是软件模拟的呼吸灯orz
( E* }1 o1 M" \4 p$ }. w0 k& Z' b
失望了吧,第一个工程一般都是点个灯嘛,就像hello world一样
112207301219 回答时间:2015-9-6 19:20:10
112207301219 发表于 2015-9-6 19:190 u& ~  n2 o4 ?, j0 D* U
用延时函数也可以达到同样的效果

" _2 z  Q, S+ }. g/ k5 {周期性改变延时的时间,就等同于周期性改变占空比
112207301219 回答时间:2015-9-6 19:20:56
112207301219 发表于 2015-9-6 19:20
/ M7 B) g) A( Y: K* ^周期性改变延时的时间,就等同于周期性改变占空比
& V7 S7 s& f+ t+ a# Y8 O
所以没有想象中那么高大上
沐紫 回答时间:2015-8-10 09:59:46
谢谢楼主
嵌入式wcb 回答时间:2015-8-31 21:43:46
楼主,你好,请问有没有用stm32f429做过呼吸灯呢,请教!
拉肚肚 回答时间:2015-9-1 08:59:54
楼主,呼吸灯还有别的方式么
yanhaijian 回答时间:2015-9-1 09:10:27
同志仍需努力。
皈依 回答时间:2015-9-1 09:38:10
上手就玩呼吸灯~高大上啊
112207301219 回答时间:2015-9-1 20:13:14
嵌入式wcb 发表于 2015-8-31 21:43
: k+ H" V& k8 V) ~( {楼主,你好,请问有没有用stm32f429做过呼吸灯呢,请教!
% E5 l; D' j1 I- P. l0 Q  q
只要能点亮一个led就行
112207301219 回答时间:2015-9-1 20:15:26
拉肚肚 发表于 2015-9-1 08:59, x9 A3 e2 l8 ?3 m
楼主,呼吸灯还有别的方式么

+ S' ^- x8 {9 G( v还可以用pwm,定时器中断改占空比
112207301219 回答时间:2015-9-1 20:16:06
guiyi 发表于 2015-9-1 09:38
8 j' F# U* |. T% m% m上手就玩呼吸灯~高大上啊
& L7 e* ~4 l: e0 C0 }
和点亮一个led本质上没有区别
wu1169668869 回答时间:2015-9-1 20:25:51
所以竟然是软件模拟的呼吸灯orz
皈依 回答时间:2015-9-2 08:07:15
112207301219 发表于 2015-9-1 20:16. Y5 r8 Y. s4 v  R- C
和点亮一个led本质上没有区别

0 x0 g2 v: X) O& ~..点亮LED灯是GPIO操作啊~呼吸灯重点是PWM吧。。
112207301219 回答时间:2015-9-6 19:12:16
用延时函数也可以达到同样的效果
天涯水乡 回答时间:2015-9-6 19:17:29
不错不错啊
112207301219 回答时间:2015-9-6 19:19:09
guiyi 发表于 2015-9-2 08:07$ S0 D% D/ c5 L" G0 j
..点亮LED灯是GPIO操作啊~呼吸灯重点是PWM吧。。

& J/ S' A8 D5 j用延时函数也可以达到同样的效果
12下一页
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版