[STM8] 基于IAR 点亮STM8S discover板卡LD1

[复制链接]
2619|47
 楼主| gaoke231 发表于 2019-4-12 13:31 | 显示全部楼层 |阅读模式
1. 板卡的来源,本次使用的STM8S105C6来之ST官网,使用积分兑换的,板卡外观如下,STM8S探索套件帮助你探索STM8S特性,开发和分享你的应用。 尽管STM8S探索套件是基于STM8S105C6T6, 它可以用来评估所有STM8S入门系列MCU的主要功能。它包括一个嵌入式调试器ST-LINK和一个触摸感应按钮。 STM8S探索套件可简单地通过一个标准的USB线插入电脑。可从STM8S-DISCOVERY 网页获取大量应用程序。
794735cb022973d200.png

 楼主| gaoke231 发表于 2019-4-12 13:31 | 显示全部楼层
2.先去ST中文官网下载该板卡的原理图,链接入下:
https://www.stmcu.com.cn/Designresource/design_resource_detail?file_name=STM8S_DISCOVERY_%E6%9D%BF%E8%BD%BDSTM8S105C6T6%E5%8D%95%E7%89%87%E6%9C%BA%E7%9A%84%E6%8E%A2%E7%B4%A2%E5%A5%97%E4%BB%B6%E6%9D%BF&lang=EN&ver=
905225cb022b14d854.png
 楼主| gaoke231 发表于 2019-4-12 13:32 | 显示全部楼层
3.打开原理图文件,可以找到板卡的LD1连接到了PD0端口,而且需要以低电平的方式点亮。
529285cb022d0c44a3.png
 楼主| gaoke231 发表于 2019-4-12 13:32 | 显示全部楼层
4.电脑需要安装ST-LinkV2-1驱动,驱动文件可以在官网下载,链接入下:
https://www.stmcu.com.cn/Designresource/design_resource_detail?file_name=STSW_LINK009_ST-LINK+USB%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F&lang=EN&ver=2.0.0
95265cb022e63f812.png
 楼主| gaoke231 发表于 2019-4-12 13:32 | 显示全部楼层
5.安装ST-Link V2-1 驱动,解压打开,选择64位驱动安装。
598475cb022fe8b027.png
 楼主| gaoke231 发表于 2019-4-12 13:33 | 显示全部楼层
6.选择下一步。
160685cb023152e3d8.png
 楼主| gaoke231 发表于 2019-4-12 13:33 | 显示全部楼层
7.提示是否选择安装,这里选择安装。
628055cb02327750a8.png
 楼主| gaoke231 发表于 2019-4-12 13:33 | 显示全部楼层
8.等待安装完成。
384775cb0233b6244a.png
 楼主| gaoke231 发表于 2019-4-12 13:34 | 显示全部楼层
9.下面我们来了解一下STM8S的GPIO外设,打开STM8S_GPIO.c文件可以看到相关函数
66315cb02360d7ae6.png
 楼主| gaoke231 发表于 2019-4-12 13:34 | 显示全部楼层
10.打开上次的新建工程,新建led.c和led.h两个文件保存在APP\LED文件夹下。
563575cb0237a029d5.png
 楼主| gaoke231 发表于 2019-4-12 13:35 | 显示全部楼层
11.在IAR工程中将led.c文件添加到APP分组中。
645115cb0238c05f96.png
 楼主| gaoke231 发表于 2019-4-12 13:35 | 显示全部楼层
12.STM8S-DISCOVERY板卡的LD1连接到STM8S的PD0引脚上,首先我们在led.c中对PD0进行初始化,将其设置为低速开漏输出模式。
  1. void LED_Init()
  2. {
  3.   GPIO_Init(GPIOD,GPIO_PIN_0,GPIO_MODE_OUT_OD_HIZ_SLOW);
  4. }

 楼主| gaoke231 发表于 2019-4-12 13:35 | 显示全部楼层
13.在led.h文件中采用宏定义的方式,实现LED的亮、灭、翻转操作,方便在主函数调用。
  1. #ifndef _LED_H_
  2. #define _LED_H_
  3. #include "stm8s.h"
  4. #define LED_ON     GPIO_WriteLow(GPIOD,GPIO_PIN_0)
  5. #define LED_OFF    GPIO_WriteHigh(GPIOD,GPIO_PIN_0)
  6. #define LED_Toggle  GPIO_WriteReverse(GPIOD,GPIO_PIN_0)


  7. void LED_Init(void);
  8. #endif

 楼主| gaoke231 发表于 2019-4-12 13:36 | 显示全部楼层
14.主函数需要包含led.h头文件,通过对led的初始化然后调用LED_ON来点亮开发板的LD1
  1. #include "stm8s.h"
  2. #include "led.h"   
  3. void main(void)
  4. {
  5.   LED_Init();
  6.   while (1)
  7.   {
  8.     LED_ON;
  9.   }
  10. }

 楼主| gaoke231 发表于 2019-4-12 13:37 | 显示全部楼层
15.不要忘记将led.h的头文件路径添加进去。
680545cb023fa44714.png
 楼主| gaoke231 发表于 2019-4-12 13:37 | 显示全部楼层
16.编译无误后可以点击下载调试按钮烧录到开发板。
57385cb024138fdbe.png
 楼主| gaoke231 发表于 2019-4-12 13:37 | 显示全部楼层
17.可以进行Debug单步调试,也可以选择 X 跳过Debug直接在开发板执行。
418825cb024251fb77.png
 楼主| gaoke231 发表于 2019-4-12 13:38 | 显示全部楼层
18.可以观察到STM8S-DISCOVERY开发板LD1被点亮了。
642425cb02439b275c.png
usysm 发表于 2019-4-12 15:46 | 显示全部楼层
多达32K字节Flash的芯片了            
typeof 发表于 2019-4-12 15:46 | 显示全部楼层
楼主的代码在哪下载的呢     
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

1310

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部