专注电子技术学习与研究
当前位置:单片机教程网 >> STM32 >> 浏览文章

第一个应用:从Hello,world!开始

作者:huqin   来源:本站原创   点击数:  更新时间:2014年04月19日   【字体:

通常熟悉一门新的开发语言或者开发工具都是通过一个最简单的程序来展开的:通过程序输出“Hello,world!”,我们也还是这样开始吧。

目的:
1、了解通过J-LINK或者ST-LINK连接Rainbow,实现在Keil中烧写程序到Rainbow
2、将USB-TTL模块和USART3对接,使用串口调试工具输出来自Rainbow的信息

所需硬件:
1、Rainbow开发板
2、USB-TTL模块
3、杜邦线 若干
4、J-LINK或者ST-LINK

所需软件:
1、MDK5.0(Keil5)
2、串口及网络调试工具
3、Rainbow开发包

相关的硬件可以在授权的硬件经销商处进行购买,购买了Rainbow开发板之后,可以向经销商索要软件包,软件包中包含了所有试验需要的软件、开发包的源程序。Rainbow的开发包是完全开源、软件注释详尽、并且可以在项目中自由使用,但是我们仅向购买了Rainbow开源硬件的用户提供。

首先,需要在电脑上安装好ST-LINK或者J-LINK的驱动程序(这里我们以ST-LINK为例来进行描述,ST-LINK和J-LINK在调试和烧写Rainbow的时候完全一样,貌似ST-LINK要便宜些),并安装好Keil5开发工具、串口及网络调试工具。
第一个应用:从Hello,world!开始

然后创建一个工程,并将Rainbow开发包导入到工程中,为了快速上手,在软件包的“QuickStart”文件夹中的Hello工程是一个我们预先建立好的工程,可以直接进行编译、烧写和调试。

工程建立好之后,需要开始编写main函数,我们先创建一个main.cpp文件,这里请注意:文件后缀是cpp而不是c,主要是因为Rainbow的开发包是一套c++的类库。在main.cpp中输入下列的代码:

#include "WProgram.h"
int main(void)
{
//初始化开发板
boardInit();
//启用USART3
Serial.start();
Serial.println("Hello,world!");
}

WProgram.h这个头文件是在Rainbow上开发所有软件都必须引入的文件

进入main程序,首先要对开发板进行初始化,调用boardInit()方法,只有调用了这个方法之后,相关的函数才能运行正常。

Serial.start()表示对默认的USART进行初始化,并设置波特率为9600。默认的串口编号在board.h进行定义:#define DEFAULT_USART 3

Serial.println("Hello,world!") 将“Hello,world!”通过默认串口发送出入。这个函数是我们在使用串口将相关信息输出最常用的函数,表示输出一段字符串后并换行,对应的Serial.print()则是输出字符后不换行。

对程序进行编译无误后通过Keil烧写到Rainbow,此时通过串口调试工具可以看到“Hello,world!”已经输出了:

关闭窗口

相关文章