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

【经验分享】STM32 LED闪烁控制设计与实现

[复制链接]
STMCU小助手 发布时间:2022-5-25 18:00
STM32的LED控制图在上一篇博客里,需要的话可以参考
* C' ?8 o5 c& i' e. S
+ C# {" g8 A# g# XLED闪烁控制的步骤6 Z% E: J& E- m, P' J5 Z) @, }

7 i! N1 m% ]  v9 N1.PB8引脚输出低电平,LED点亮$ I/ X: v. H  y, F

4 b  c8 d/ S  }2.延时
# q/ J5 h) F  Y$ M
! F" k! [5 Y7 C- J0 ?1 i3.PB8引脚输出高电平,LED熄灭
* B! j8 d5 H0 {2 L0 a& N% i2 r9 }/ a2 {  r! P9 c& I  a  i* x$ [
4.延时+ o+ W- L. ^6 N$ M* |1 B

6 d+ d% i, A  h9 n. P5 A5.重复第一步(循环)
6 G, d- f+ r; i: t6 o, _# n* E" N, C3 D, P7 n+ G+ `# d  t2 Z, d
  1. #include "stm32f10x.h"" M8 {3 N! b+ D: C0 a9 Z' e

  2. " [- l$ J% V' e* S
  3. void Delay(unsigned int count)               //延时函数, O3 i# }6 V% q; e: X9 _) ]" T  q, y0 @
  4. {
    ) G1 `% J; `  W2 ]' v1 [9 m+ J' p
  5.     unsigned int i;& m: o5 J; O. I; e0 ^: z
  6.     for(;count!=0;count--)% V% V) G/ a6 R0 \  v  l1 ?: A) D
  7.     {$ w* s9 }0 B3 v) Z
  8.     i=5000;
    $ ~: |/ X+ Q# U1 s1 @+ J
  9.     while(i--);
    2 g6 ~$ e, ]* j  g8 C
  10.     }4 T% U* `3 l/ Y( z3 [8 N
  11. }
    4 {3 x  `! H5 B
  12. int main(void)- z4 B+ J1 Q2 V7 d( q6 y8 |& h
  13. {
    8 g+ G0 Y/ f) k  Y
  14.                 GPIO_InitTypeDef GPIO_InitStructure;
    * k& z  P/ O+ N$ G9 b
  15.                 RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE);                 //使能GPIOB时钟' [4 e4 q! B/ i5 P
  16.                 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;                   //PB8引脚配置
    % t& Y, U. w, i* L# b3 h
  17.                 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;            //配置PB8为推挽输出
    ' G- t9 A. L2 `/ ]
  18.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;           //GPIOB速度为50MHz
    , q9 x# D3 F3 }( v% x
  19.                 GPIO_Init(GPIOB, &GPIO_InitStructure);                      //初始化PB8
    / s9 b6 c/ {& r" O/ j
  20.         GPIO_SetBits(GPIOB,GPIO_Pin_8);                    //PB8输出高电平,LED熄灭- u" T! Y: O* N! p, c

  21. 2 [! `. l8 @! F; c# `! s
  22.         while(1)/ \! x5 G. k* i1 I6 z
  23.         {
    8 b% I" G6 s( a1 T& P, A5 f0 ^% B
  24.              GPIO_ResetBits(GPIOB,GPIO_Pin_8);             //PB8输出低电平,LED点亮4 K4 \) b6 H; T- B: O
  25.              Delay(100);                                   //延时,保持点亮一段时间* B3 P: k& m  R& H7 t. n
  26.              GPIO_SetBits(GPIOB,GPIO_Pin_8);              
    & y! S% _* l' E8 |# @2 o8 r
  27.              Delay(100);                                   //保持熄灭一段时间' c' b# w3 s9 Q3 ~$ T2 q; x, x( {
  28.         }' A7 G# p1 T) M% `6 h4 A% R  R
  29. }
复制代码
) x& C! m4 \" i  T( i
( q4 @6 k' r$ @* H5 p
延时说明:因为stm32指令反应速度很快,人眼很难识别,所以需要延迟一段时间,这样就能看到闪烁效果
- @- L7 [+ a4 x. V: f# m3 a3 c% V- m) p& u9 }; ~: s! F. ?
7 j# N, g; B6 g, H/ Z
收藏 评论0 发布时间:2022-5-25 18:00

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版