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

STM32入门之呼吸灯

[复制链接]
STMCU小助手 发布时间:2022-8-20 17:00
呼吸灯的实现,主要是利用开个Led灯的时间不同,利用人眼睛的视觉残留效果以达到呼吸灯的效果0 n& i2 N& I8 y
: a* b5 H) V& Y) b6 e0 k3 W
  1. #include "stm32f10x.h"* ^0 b2 y6 L! [( K1 p' D

  2. : ~. `7 C5 i6 a2 j/ g
  3. void delay_us(u32 time) // 延时函数( ?% c. i. n: A/ _3 ^
  4. {# a0 v+ u$ e) K; ?, n; Z
  5.         SysTick->LOAD = 72 * time;" Q2 b% ~9 H  m8 _
  6.         SysTick->VAL = 0x00;
    " Y7 b& ~/ U# Q
  7.         SysTick->CTRL = 0x00000005; //打开时钟源0 ]& l  a) n5 ?/ c: p# D! x) v/ f
  8.         while( !(SysTick->CTRL & 0x00010000));
    - l* K3 c9 u3 d/ }; M% p7 N% Y
  9.         
    7 x, h8 ]7 b, g. ?" l
  10.         SysTick->CTRL = 0x00000004; //关闭时钟源
    / w" v0 i* `* {9 P' o* y
  11. 6 K5 u; D9 N' z
  12. }
    0 p; `* f+ q4 J8 [; M7 d: u8 s7 f/ E
  13. + t$ K0 I0 `% C9 G: K4 ^' [
  14. void LED_Init()
    + _/ h8 \0 P6 `/ z3 _2 M( v
  15. {, Y# H4 `8 e. S! z# ], n
  16.         GPIO_InitTypeDef gpio;0 G: n( |* Y7 X, j, h) J
  17.         
    5 e/ B% b* u6 f% q9 c! Y6 p% A
  18.         gpio.GPIO_Pin = GPIO_Pin_1;
    5 f7 V: [6 ^  L7 R' z& e  e
  19.         gpio.GPIO_Mode = GPIO_Mode_Out_PP;
    2 c3 [1 Q9 s2 G9 `
  20.         gpio.GPIO_Speed = GPIO_Speed_50MHz;
    ! r% I! N$ w. F
  21.         
    / H7 A% ~/ }+ ]' d# p* g% f! \4 T
  22.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);' m4 c, E5 J5 r) \
  23.         
    , E4 p9 p: d& ~- H
  24.         GPIO_Init(GPIOB,&gpio);3 }- m0 q  l3 F) H' G; _, n- n
  25.         6 I, i3 N6 B" r& L! C/ L' Z
  26. }" _9 D/ B- c1 O+ P. i4 u/ e& N$ ~
  27. int main(void)+ e$ N0 r  m/ |9 u1 s1 }
  28. {        
    * s  ]2 p' N3 X: t. r0 @9 y
  29.         int i=1;7 L2 a( F, |) j& e
  30.         LED_Init();) d' O5 M$ R/ a6 ]/ b* I
  31.         int flag = 0;
    9 z" ?7 }1 Q5 A% s
  32.         while(1)
    7 o) [' B9 d7 d1 N& ]  q
  33.         {8 V: X* j7 \9 X1 k1 K9 O
  34.                 for(i=1 ;i<100;i++) //暗到明  R- C' }9 l  r. q
  35.                 {! [$ F8 {9 k7 `& W$ L% g$ v; p
  36.                 GPIO_WriteBit(GPIOB,GPIO_Pin_1,(BitAction)(1));
    % w  c: D0 h, ]0 G
  37.                 delay_us(i*10);
    # A! u. ]- |3 g- y3 [
  38.                 GPIO_WriteBit(GPIOB,GPIO_Pin_1,(BitAction)(0));* U) ?. m# H- T4 S% X( B
  39.                 delay_us(2000-i*10);                                
    ) |  X+ P8 ^# Y
  40.                 }
    2 o* {4 E4 J1 O* q( u& _
  41.         }( i# q  l5 Z& ]; `" Y0 X
  42.         
    8 B! s% u  {5 q* w9 D
  43. }8 g7 Z0 @& b' B: {- w
复制代码

- j( h5 Q# x; Z  Q
! G/ X6 \0 r* j- Q
赞 收藏 评论0 发布时间:2022-8-20 17:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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