请选择 进入手机版 | 继续访问电脑版

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

STM8-SO8-DISCO -- 14、STM8L001 GPIO测试

[复制链接]
TLLED 发布时间:2019-2-25 16:05

9 t: \. D  `+ N7 I* w    . P/ S9 S8 p# _; L
    通过开发板的上的SB4,SB5,SB6跳线来选择STM8L001芯片,STM8L050和STM8L001都属于STM8L系列芯片,所有工程文件就还是用之前的STM8L050创建的工程文件,通过GPIO驱动来验证工程的可运行性。
" b3 C* X$ y7 a( Y% ^' E; Z
" L2 U- }+ M4 S' v2 z# \8 R
+ q3 W( D& E/ N* a' v
    一、硬件部分& J3 n$ ]8 I9 j6 f5 }2 w

& z! e" {9 x; u7 C. }+ w

: F6 @2 P, h! T    使用PB5引脚来驱动LED。2 L' g2 W) U4 c6 n
    2253.png
( o) b* T: r# [    ! N  R# k3 v( w; E0 [8 n
    二、程序部分' U: G5 `$ P3 {- Y2 g

; n7 E( r0 d+ Z# K& I( W3 |. p

) F+ D$ P- r# X% v    2.1、在工程文件中,选择STM8L001芯片型号
8 v" S( N) V; ~1 z. v    2254.png * g) W. f, Q" t" e1 ~  P4 ~
   
; ]5 H0 g0 a5 Z" g     2.2、程序代码. G, r1 u. M0 q0 A  V
- k+ Y) m$ x; _) h9 |
7 r6 @9 @3 \8 G% a. Y  E
     2.2.1、LED代码
- i8 ?- g: ]! r" Q2 R
  1. //led/c/ Q/ c" \+ }& c. u# O
  2. #include "stm8l15x.h"
    / V; H) t2 d  S0 z$ b
  3. #include "led.h"
    7 p) a4 W  P# B% n6 C! q2 `
  4. : Z0 B  v+ l7 X- k. U& q1 ~: \, V
  5. void led_init(void)
    0 B. r6 H; _) C- u8 m' G- q5 K
  6. {  g% w2 v# X" S- V7 x
  7.   GPIO_Init(LED_GPIO_PORT, (GPIO_Pin_TypeDef)LED_GPIO_PINS, GPIO_Mode_Out_PP_Low_Fast);
    : u6 U% i5 O$ N( {. d4 D$ D$ ^. J
  8. }
    + w; b2 q4 z6 a

  9. 6 |& v5 m$ G5 F- G% y$ @- ]$ z
  10. //led.h
    . u3 V) k7 G  E" R) F
  11. #ifndef __LED_H
    3 C: M; M$ V- ^2 Q& a
  12. #define __LED_H
    ' |8 ?- t( v4 h: N( V, J

  13. 8 t+ w" U! o% Q, `7 x( `
  14. #define LED_GPIO_PORT  (GPIOB)
    2 Q1 G: J3 `) s! [5 h6 W5 p5 F
  15. #define LED_GPIO_PINS  (GPIO_Pin_5) 8 }4 J/ u; T. U/ R8 I  x
  16. , d4 P5 U/ q: Q% U  n6 u* V7 n
  17. #define led_tog() GPIO_ToggleBits(LED_GPIO_PORT, (GPIO_Pin_TypeDef)LED_GPIO_PINS)* b. F& F4 ]; I, d! R# c

  18. ' ]" r: X( E$ ^3 N3 K
  19. void led_init(void);& p, W9 i) P( y- a# w5 B- ]& P

  20. 3 |/ e$ M7 t4 W& M
  21. #endif
复制代码
  a8 @1 p, z. h* t5 k
    2.2.2、主程序# e$ n4 x' {% j* B) y* X% q# R
  1. void main(void): |  v0 X1 I# z* Y
  2. {
    ' }- n8 Z5 s1 g% X" w5 h
  3.   CLK_Config();           //时钟初始化* k4 P- y8 Y1 X9 J; |
  4.   
    3 P. v) m: \' {5 y: {, Z7 J
  5.   Delay(0x2fffff);        //延时5S, Z0 L- O6 Y6 Q" c
  6.   4 |3 Z3 \  ~8 x1 k5 \
  7.   led_init();             //led初始化
    8 k0 t- ^& S4 U0 }( |6 G3 A
  8.   
      p3 D% s! D7 z2 u
  9.   while (1)
    / c' L/ W% r3 [- ^! ^* h2 d
  10.   {! q# I6 i5 |5 X! Y6 _) {
  11.     led_tog();            //LED取反            
    / k" X* d' @9 m% U3 I! X- p
  12.     Delay(0xffff);) y' v0 Z' c/ z+ S, G" g$ ^" w
  13.   }
    8 G. L( Q6 s7 W4 \7 k; B
  14. }
复制代码

) f- P1 m2 Z, x6 T9 e    三、执行结果
! D5 n# ^. E, b. _3 O3 m* o* \) ?: t" e) ?0 \# R

/ e* ?" y6 A+ }& t5 j/ X, v    3.1、在原来的工程文件仿真时,程序执行到
5 `5 a" F1 t4 f            CLK_Config();           //时钟初始化
. W% r. E( ~% e* a! u$ }+ e
  1. //时钟初始化: M' N$ z% H! @' q7 i6 v
  2. static void CLK_Config(void)
    % _  f: M6 z# f8 K
  3. {    ! i8 ^) O$ y  S* `4 Y8 y
  4.     /* Select HSI as system clock source */  F. o9 Q- N4 \& g
  5.     CLK_SYSCLKSourceSwitchCmd(ENABLE);" M1 w5 n/ h  e
  6.     CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_HSI);% V& h1 x+ [) z
  7.     /* system clock prescaler: 1*/- P1 j% r0 l/ f5 c- w  k9 O, p
  8.     CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);, S) F5 F6 k3 M5 t& U
  9.     //while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_HSI)2 O2 w+ L5 p- q- S3 h& D) r
  10.     //{}   
    # ]: I5 B3 ]1 }0 Q
  11. }
复制代码
( T: m4 \0 N  e
           这个函数while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_HSI){} 位置跳转转不出来,把这个函数屏蔽掉以后,程序可以运行下去,后面再看看具体原因是什么。6 ?' h  `) ?$ @4 T7 ~
   
$ j; I/ X8 d  M    3.2、运行的视频
/ M9 Q0 f/ c( Z0 g1 d8 O* J    2254.gif / E& c' u9 c* ]7 {7 X4 L

  V- v, A7 z' M6 K. z! P- U
9 s: S+ M5 p! m( X8 x$ ]

, v6 F6 M, e' V( t" O

9 r/ o2 a4 Q& O4 P7 B2 @2 B    stm8l001芯片运行正常。% k4 I( i4 Q* n% e& T' {6 L
1 l8 c" V' T! |0 m, R+ A% x

. g$ Q8 Q7 @0 A# G
) z$ L5 a  ~* \! p

! r! L5 [2 ]/ ]$ k5 i
8 T- [0 z5 m+ l  I, f" d

' a( m9 |! a7 a- n% v# a/ j
# }- p. c+ I$ }5 \' ]2 x: q

' r3 T* i( [4 A% O4 O& {) G  }5 F: K- _2 L; _  x% k5 M2 k
1 收藏 1 评论2 发布时间:2019-2-25 16:05

举报

2个回答
shishangyangyan 回答时间:2020-3-13 14:51:14
TLLED您好,劳烦问下您用的是IAR吗?什么版本?我这边下载的3.10和3.11里都没有STM8L001J3,如您上面的截图,Target->device里没有STM8L001J3,是不是IAR版本不对?
shishangyangyan 回答时间:2020-3-13 14:57:39
TLLED您好,我是STM8开发的新手,最近有一个项目打算选用STM8L001J3的型号,发现最新的IAR里在选芯片型号时都没有这个型号,您是用的什么版本?还是其他什么工具呢?劳烦指教一下,谢谢
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版