打印
[STM8]

基于IAR 点亮STM8S discover板卡LD1

[复制链接]
1956|47
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1. 板卡的来源,本次使用的STM8S105C6来之ST官网,使用积分兑换的,板卡外观如下,STM8S探索套件帮助你探索STM8S特性,开发和分享你的应用。 尽管STM8S探索套件是基于STM8S105C6T6, 它可以用来评估所有STM8S入门系列MCU的主要功能。它包括一个嵌入式调试器ST-LINK和一个触摸感应按钮。 STM8S探索套件可简单地通过一个标准的USB线插入电脑。可从STM8S-DISCOVERY 网页获取大量应用程序。

使用特权

评论回复
沙发
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=

使用特权

评论回复
板凳
gaoke231|  楼主 | 2019-4-12 13:32 | 只看该作者
3.打开原理图文件,可以找到板卡的LD1连接到了PD0端口,而且需要以低电平的方式点亮。

使用特权

评论回复
地板
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

使用特权

评论回复
5
gaoke231|  楼主 | 2019-4-12 13:32 | 只看该作者
5.安装ST-Link V2-1 驱动,解压打开,选择64位驱动安装。

使用特权

评论回复
6
gaoke231|  楼主 | 2019-4-12 13:33 | 只看该作者
6.选择下一步。

使用特权

评论回复
7
gaoke231|  楼主 | 2019-4-12 13:33 | 只看该作者
7.提示是否选择安装,这里选择安装。

使用特权

评论回复
8
gaoke231|  楼主 | 2019-4-12 13:33 | 只看该作者
8.等待安装完成。

使用特权

评论回复
9
gaoke231|  楼主 | 2019-4-12 13:34 | 只看该作者
9.下面我们来了解一下STM8S的GPIO外设,打开STM8S_GPIO.c文件可以看到相关函数

使用特权

评论回复
10
gaoke231|  楼主 | 2019-4-12 13:34 | 只看该作者
10.打开上次的新建工程,新建led.c和led.h两个文件保存在APP\LED文件夹下。

使用特权

评论回复
11
gaoke231|  楼主 | 2019-4-12 13:35 | 只看该作者
11.在IAR工程中将led.c文件添加到APP分组中。

使用特权

评论回复
12
gaoke231|  楼主 | 2019-4-12 13:35 | 只看该作者
12.STM8S-DISCOVERY板卡的LD1连接到STM8S的PD0引脚上,首先我们在led.c中对PD0进行初始化,将其设置为低速开漏输出模式。
void LED_Init()
{
  GPIO_Init(GPIOD,GPIO_PIN_0,GPIO_MODE_OUT_OD_HIZ_SLOW);
}

使用特权

评论回复
13
gaoke231|  楼主 | 2019-4-12 13:35 | 只看该作者
13.在led.h文件中采用宏定义的方式,实现LED的亮、灭、翻转操作,方便在主函数调用。
#ifndef _LED_H_
#define _LED_H_
#include "stm8s.h"
#define LED_ON     GPIO_WriteLow(GPIOD,GPIO_PIN_0)
#define LED_OFF    GPIO_WriteHigh(GPIOD,GPIO_PIN_0)
#define LED_Toggle  GPIO_WriteReverse(GPIOD,GPIO_PIN_0)


void LED_Init(void);
#endif

使用特权

评论回复
14
gaoke231|  楼主 | 2019-4-12 13:36 | 只看该作者
14.主函数需要包含led.h头文件,通过对led的初始化然后调用LED_ON来点亮开发板的LD1
#include "stm8s.h"
#include "led.h"   
void main(void)
{
  LED_Init();
  while (1)
  {
    LED_ON;
  }
}

使用特权

评论回复
15
gaoke231|  楼主 | 2019-4-12 13:37 | 只看该作者
15.不要忘记将led.h的头文件路径添加进去。

使用特权

评论回复
16
gaoke231|  楼主 | 2019-4-12 13:37 | 只看该作者
16.编译无误后可以点击下载调试按钮烧录到开发板。

使用特权

评论回复
17
gaoke231|  楼主 | 2019-4-12 13:37 | 只看该作者
17.可以进行Debug单步调试,也可以选择 X 跳过Debug直接在开发板执行。

使用特权

评论回复
18
gaoke231|  楼主 | 2019-4-12 13:38 | 只看该作者
18.可以观察到STM8S-DISCOVERY开发板LD1被点亮了。

使用特权

评论回复
19
usysm| | 2019-4-12 15:46 | 只看该作者
多达32K字节Flash的芯片了            

使用特权

评论回复
20
typeof| | 2019-4-12 15:46 | 只看该作者
楼主的代码在哪下载的呢     

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

1310

帖子

5

粉丝