STM8L-discovery操作-IAR配置与GPIO端口操作

STM8L-discovery操作-IAR配置与GPIO端口操作

By fxw451 

 

对于刚开始学习stm8l的初学者(这里当然也包括其他的比如stm8sstm32)来说,IAR软件如何使用是成功的一般,要学会建立一个工程和添加头文件,以及做相应的配置。

有关如何装软件大家可以参照下IAR使用教程,下面咱们就开始接受如何建立一个工程:安装下面图下的操作,首先找到projectcreate new project

会的到下面的图,现在stm8系列

当然你只装了只有stm8IAR,里面会没有arm的。

然后你有二个选择建立你的工程

<!--[if !supportLists]-->(1)       <!--[endif]-->选择Empty project单击OK,出现下面的图

输入一个文件名,比如aa,会出现下图

在点击保存后,输入一个aa就建立一个工程了,然后就是你要输入进去你的.c  .h的文件,首先建立一个main.c文件还有srcinc文件夹,如下图所示:

src里拷贝你要用到的.c文件,inc里拷贝你要用到的.h文件,这些.c .h的文件你要去你的IAR安装软件的文件里去找,比如我的是下图:

我以控制一个灯的亮为例,用到的文件如图所示

我用到的上面图上的文件,其中stm8l15x.h是必选的,其他的根据你的配置要,stm8l15x_conf.h是头文件配置,如图所示:

这里我用到了GPIOclk的头文件,我就去掉他们俩的注解

然后再在你的工程里添加头文件,然后在添加 add group,添加srcinc两个文件,然后再在文件下add你刚才复制到这里面的那些.h .c 文件,最后得到这样的图:

这些添加完后就要配置了,选中aa这个工程,然后右击或者在菜单栏下的project里选择option,得到如图所示:

第一个是general option target里的device选择你的芯片型号STM8L152C6,其他不变

然后在C/C++ Compiler里找Preprocessor,在这里添加你的.h .c文件的位置,我的工程建立的地址是如图所示

当然你可以用$PROJ_DIR$\..\inc表示你所在的工程目录下的inc所在的位置,$PROJ_DIR$\表示当前位置。如图所示:

然后再在defined symbols下选择STM8L15X_HD

当然有三种选择

One of the following macros must also be defined:

        - STM8L15X_MD for Medium Density devices.

        - STM8L15X_MDP for Medium Density Plus devices.

        - STM8L15X_HD for High Density devices.

根据你的需要选择你的不同方式。

然后就是在你的linker下选择linker configuration file 选择你所需要的icf

然后就是Debugger下的setupdriver选择你的仿真器类型,在这里选择st-link

这样配置完后,就要写main程序了,我写的是如下:

#include "stm8l15x.h"

void DelayMS(unsigned int ms)  //延时时间设置,这里要用到clk时钟配置

{

   unsigned char i;

   while(ms != 0)

  {

  for(i=0;i<250;i++)

  {   ms--;

  }

  }

}

main()

{

  GPIOC->DDR = 0x08;

  GPIOC->CR1 = 0x08; // PD3设置成推挽输出

  GPIOC->CR2 = 0x00;   //这三个是配置,DDR是配置输入输出,CR1CR2是配置输入输出方式,自己去查查

  while(1)

{

GPIOC->ODR = GPIOC->ODR | 0x80; // PD3的输出设置成1

DelayMS(100); // 延时100MS

GPIOC->ODR =GPIOC->ODR & 0x7F; // PD3的输出设置成0

DelayMS(100); // 延时100MS

}

}

这要就可以运行了。

其中DDRCR1 CR2的配置如下图:

<!--[endif]-->

最终运行的结果是灯一闪一闪的。

<!--[if !supportLists]-->(2)       <!--[endif]-->选择C单击OK来建立工程

我们会得到下面的图:

点击保存后得到下面的图,然后点击确定就行。

这样你就能很容易的看到这个工程了,而这个工程里已经包含了一个main.c的文档。然后就是按照(1)的步骤建立两个文件夹,添加头文件。IAR配置和上面是一样的。

下面再介绍下建立工程的时候常见的错误

<!--[if !supportLists]-->(1)       <!--[endif]-->硬件选型不对会出现以下错误:下面说the debugger initialization failed or aa.out was corrupt

<!--[endif]-->

注:出现上面的错误可能还有其他的原因astm8l-discovery里的CN3没有查上,无法下载到芯片里去;b: 没有电源,不过对于stm8l-discovery不会出现这个问题,对于自己做的板子可能就有这方面的问题;c: debugger有问题,这里你要更新你的debugger下载 IAR for stm8 debugger-support-files.exe进行更新

<!--[endif]-->

<!--[if !supportLists]-->(2)       <!--[endif]-->选择你的应用错误,如下图所示:

<!--[endif]-->

这里你要在optionC/C++ Compilerdefined symbols下选择STM8L15X_HD

当然有三种选择可供你选择

One of the following macros must also be defined:

        - STM8L15X_MD for Medium Density devices.

        - STM8L15X_MDP for Medium Density Plus devices.

        - STM8L15X_HD for High Density devices.

<!--[if !supportLists]-->(3)       <!--[endif]-->头文件路径没设置错误。在这里很多初学者就很纳闷,为什么会出现这种错误?我头文件也添加上了,怎么还能有这种问题呢?其实不然,你添加上的只是在的你项目里,而没在你运行的时候利用它,如下图所示:

<!--[endif]-->

出现这种问题,请参考前面的IAR配置,具体是:C/C++ Compiler里找Preprocessor,在这里添加你的.h .c文件的位置,这样就没问题了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值