0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用STM8SMCU

454398 来源:工程师吴畏 2019-07-31 10:09 次阅读

为什么要使用STM8系列?

为项目或产品选择微控制器时,必须选择正确的微控制器。由于Microchip不断的生产和支持,PIC器件非常出色,而AVR器件包含一个非常强大的CPU(可能更多的是CISC而不是RISC)。然而,简单的原型最终可能变成商业产品,当这种情况发生时,每一分钱都很重要。 PIC控制器通常比AVR设备便宜,而AVR设备可能更难以随时编程。这就是STM8系列微控制器的用武之地,非常便宜,功能强大且速度快!

然而,ST设备存在缺陷;他们没有好的软件包,许多编译器/IDE需要购买许可证。值得庆幸的是,COSMIC(为STM设备生产C编译器)完全发布了他们的编译器,对STM8设备没有任何限制,而STM32设备仍然限制在32K编程空间(这对大多数项目来说都是如此)。只要您每年注册一次免费许可证,您就可以不受限制地对STM8进行编程!

让我们开始使用STM8!

如何安装IDE STVD

使用STM8设备的第一步是下载并安装IDE。目前有两种IDE可供使用:STVD和IAR。 IAR是一个更现代化的系统,支持数千个设备,可能看起来是合乎逻辑的选择,但是,我选择使用STVD。这有几个原因:

IAR是一个大型程序而不是您想要在旧机器上运行的程序

IAR是一个商业化程度很高的产品并且包含许多限制

STVD是一个较旧的IDE,看起来它基于Visual Studio 2005.尽管如此,它在Windows 10上运行非常好,所有功能都在运行,包括调试器!所以要下载STVD,请点击此链接,点击“获取软件”,滚动到弹出窗口的底部,点击“接受”,当该窗口消失时,点击“下载”。

下载软件部分。

STVD IDE只有82-83MB,因此下载时间不会太长。在下载时,我们还需要下载COSMIC C编译器。为此,请单击此链接,注册您的详细信息,然后单击“提交”。

此时您应该看到下载链接,因此请继续下载COSMIC C编译器。这个文件应该是20MB左右。

成功注册COSMIC C编译器应该显示这个页面。

下载了这两个文件后,就可以安装IDE和COSMIC C编译器了。首先从STVD下载中提取安装文件,然后运行安装程序,保留所有选项(例如,安装路径等)。安装了STVD后,就可以安装COSMIC C.在完成选项的同时,请确保保持默认值和选项,用户和公司名称除外!

安装结束时它将询问有关注册编译器的问题。确保单击此按钮,然后单击“继续/完成”时,将出现以下窗口。只需填写您的详细信息并通过电子邮件索取许可证文件。

开始新项目

现在我们需要安装所有东西,现在是时候启动STVD IDE并创建一个新项目了。首先加载IDE,然后单击File> New Workspace。在出现的窗口中,单击“创建工作区和项目”。

对于我们的工作区名称,我们将其保存在C:的文件夹中名为STEM8WS。

下一个窗口将询问我们的项目名称等,所以现在我们将调用我们的项目“OurFirstProject”,放入文件夹STM8WS中名为Project1的文件夹,选择COSMIC作为工具链,然后提供编译器的路径。假设你在COSMIC C安装中没有改变任何东西,工具链根应该是......

C: Program Files(x86) COSMIC FSE_Compilers CXSTM8

下一步涉及选择我们正在使用的设备。在这种情况下,我们使用的是简单的STM8S103F3P,因此我们将从列表中选择它。完成此操作后,新项目应显示在左侧的工作区导航器中,从此处您需要加载main.c文件。

在本教程中,我们将使LED闪烁。所以现在,在STVD中输入以下代码。

/*MAIN.Cfile
*
*Copyright(c)2002-2005STMicroelectronics
*/
#include"stm8s.h"

voidsimpleDelay(void);

main()
{
GPIOB->DDR=0xFF;

while(1)
{
GPIOB->ODR=~GPIOB->ODR;
simpleDelay();
}
}

voidsimpleDelay(void)
{
unsignedinti,j;

for(i=0;i< 1000; i ++)
{
for(j=0;j< 40; j ++)
{
}
}
}

连接ST-LINK V2

下一步是将ST-LINK V2设备连接到USB端口。连接完成并且Windows安装完设备后,您需要运行STVD安装文件夹中的特殊文件,该文件允许STVD使用它。假设您没有更改安装目录,可以在此处找到此文件:

C: Program Files(x86) STMicroelectronics st_toolset stvd dao ST Toolset.msi

一旦安装,STVD IDE将能够直接调试您的STM8项目,这允许单步执行代码,查看变量和反汇编

您还需要将ST-LINK V2编程器连接到目标板,在这种情况下是STM8S103F3P。使STM8器件编程的好处是SWIM系统,它是一种单线编程方法,只需要四条线:电源,接地,复位和编程。

测试程序

在我们测试程序之前,我们必须做一个每个STM8项目都需要做更多的事情;我们需要包含一个特殊的STM8头文件。但是这个头文件不仅需要包含,而且需要进行非常轻微的更改,因为您需要在头文件中选择设备。首先,下载这个特殊的头文件:

https://github.com/EarToEarOak/DDS-Sine-Sweep/blob/master/src/stm8s.h

下载后,将此文件复制到项目文件夹,然后在IDE中右键单击“包含”文件夹,然后选择“将文件添加到文件夹”。在打开的对话框中,选择我们下载的STM8S.h文件。

现在打开STM8S.h文件并取消注释与之相关的行您的设备(这些行位于第30行和第40行之间)。在这种情况下,我取消注释包含STM8S103的线路,因为那是我正在使用的设备。该文件告诉COSMIC哪些寄存器可用以及它们位于何处。编辑完成后,保存包含文件。

下一步要求您保存先前在STVD IDE中更改的main.c文件并编译代码。要编译该程序,请单击Build> Compile main.c。

编译完成后,单击Build> Build构建项目。如果一切顺利,应该有0个错误和0个警告。

现在是时候选择目标了,所以点击Debug Instrument> Target Settings,填写在窗口中,如下所示,并单击“应用”。

完成后,单击Debug> Start_Debugging,STVD可能会询问有关重建的信息。如果是,则同意重建,ST-LINK V2应自动开始下载代码。如果出现通信错误,请尝试重新连接ST-LINK V2。

最后一步是通过单击调试选项上的“继续”来运行程序。如果一切顺利,您应该看到LED闪烁(假设您拥有与本教程中使用的模块相同的模块)。如果您使用了不同的电路板,则需要连接LED或探测PORTB上的其中一个引脚以查看闪烁。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    145

    文章

    15884

    浏览量

    342771
  • STM8
    +关注

    关注

    18

    文章

    391

    浏览量

    56146
收藏 人收藏

    评论

    相关推荐

    AD7124-8如何校准?

    AD7124-8如何校准,代码如何写
    发表于 12-01 10:38

    HMC574AMS8GE和HMC574AMS8E的区别是什么?

    关于HMC574AMS8GE和HMC574AMS8E的区别,HMC574AMS8GE在官网找不到对应的PDF,麻烦各位工程师给个答案,谢谢
    发表于 11-13 07:34

    怎么用单片机控制8*8*8光立方?

    怎么用单片机控制8*8*8光立方?
    发表于 11-10 06:29

    8x8点阵用什么芯片驱动?

    有一个74ls245N能不能这一个芯片驱动8x8的点阵 或者我还有两个595可不可以做点阵的驱动
    发表于 10-28 06:37

    STM8的开发环境是什么,现在MDK支持STM8的开发了吗 ?

    STM8的开发环境是什么,现在MDK支持STM8的开发了吗
    发表于 10-28 06:02

    8051单片机控制8*8点阵时不用译码器可以吗?

    8051单片机控制8*8点阵时,不用译码器可以吗?8*8总共灯的数量大于51单片机接口数量,但是又不会用译码器,有没有不用译码器实现控制的方法啊,比如显示特定两位数字之类的。
    发表于 10-20 06:03

    请问stm8和stc8同时做扩展芯片那个性价比更高?

    stm8和stc8同时做扩展芯片那个性价比更高?
    发表于 10-18 06:00

    STM8L151xx, STM8L152xx数据手册

    本文档描述了的功能、引脚、机械数据和订购信息中密度STM8L15x器件(STM8L151Cx/Kx/Gx、STM8L152Cx/Kx具有16K字节或32K字节闪存密度的微控制器)。这些设备在
    发表于 10-10 08:30

    STM8S103K3 STM8S103F3 STM8S103F2数据手册

    STM8S103x访问线8位微控制器提供8k字节闪存程序存储器,加上集成的真数据EEPROM。STM8S微控制器系列参考手册(RM0016)将该家族中的设备称为低密度设备。它们提供以下
    发表于 10-10 08:19

    STM8L101xx数据手册

    本数据表提供STM8L101xx引脚、订购信息、机械和电气设备特性。 有关STM8L101xx微控制器存储器、寄存器和外围设备,请参阅STM8L参考手册。 STM8L101xx设备是S
    发表于 10-10 08:03

    STM8S105xx数据手册

    本数据表包含设备特性、引脚、电气特性的说明,机械数据和订购信息。 •为了完成STM8S微控制器存储器、寄存器和外围设备的格式化,请参阅STM8S微控制器系列参考手册(RM0016)。 •有关内部闪存
    发表于 10-10 06:42

    STM8S的中文参考手册

    本参考手册为应用开发人员提供了关于如何使用STM8S微控制器的存储器和外设的完整信息。STM8S是一个拥有不同存储器大小,封装和外设的微控制器家族。■ STM8S针对通用应用而设计,关于订货信息
    发表于 09-28 07:05

    如何使用STM8AL3Lxx、STM8L152xx和STM8L162xx LCD控制器

    本应用说明描述了在中密度STM8AL3Lxx器件,中密度STM2L152xx器件,介质+高密度STM8L152xx/STM8L162xx器件,以液晶显示器(LCD),用于驱动字母数字字符和转换
    发表于 09-26 07:07

    stm32f103c8t6仿真OLED显示数字汉字图片#单片机

    OLED仿真STM32F103C8T6
    油泼辣子
    发布于 :2023年04月23日 17:17:03

    带有MCIMX8-8x-BB板的IMX8 QuadMax设备上读取罐头时报错怎么处理?

    你好!我是这个社区的新手,目前正在研究 IMX8 QuadMax 设备。 我在 MCIMX8-8x-BB 板上读取 CAN 时遇到了问题。我在设备上安装了 QNX 7.1 并使用以下参数启动
    发表于 04-17 06:48