电子说
为什么要使用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.C file
*
* Copyright (c) 2002-2005 STMicroelectronics
*/
#include "stm8s.h"
void simpleDelay(void);
main()
{
GPIOB->DDR = 0xFF;
while (1)
{
GPIOB->ODR = ~GPIOB->ODR;
simpleDelay();
}
}
void simpleDelay(void)
{
unsigned int i, 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上的其中一个引脚以查看闪烁。
全部0条评论
快来发表一下你的评论吧 !