你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F3探索者套件学习之路之第一个测试程序:永恒的流水灯

[复制链接]
lee198717 提问时间:2013-3-6 21:21 /
上一篇文章中介绍了STM32F3系列处理器简单项目工程模板的建立方法,本文中将介绍该模板的用法及编写一个简单的流水灯测试程序:
       
  • 首先,建立一个测试工程命名为Demo,选择处理器为STM32F303VCT6,工程路径就选择在上文中提到的Project文件夹中。将其中的CMSIS、User、Startup、Hardware和STM32F30x_StdPeriph_Driver文件夹添加到测试工程目录中。并添加对应目录下的src文件夹中的所有.c文件到项目中。(注:作为测试程序把官方提供的所有外设库函数包含到项目中,其实为了提高编译速度则只需要选择用到的文件即可)。   
  • 进入工程配置窗口中,在output选项页中勾选Create Hex文件复选框,然后点击Select Folder for Object,设置工程输出文件目录为Project文件夹下的Object文件夹。   
  • 切换到Listing选项页,设置Select Folder for Listing输出目录为Project文件夹下的Listing文件夹。   
  • 切换到C/C++选项页,本选项页用于对工程进行配置。这里,我们为了在测试程序中使用官方提供的标准库函数,在Define栏填入USE_STDPERIPH_DRIVER。在Includes一栏中填入..\CMSIS;..\Libraries\STM32F30x_StdPeriph_Driver\inc;..\User\inc,用于告诉编译器所用到头文件的位置。   
  • 切换到Debug选项页选择调试工具为ST-Link Debugger   
  • 同样,切换到Utilites选项页选择调试工具为ST-Link Debugger,选择调试接口为SW接口;点击旁边的Setting按钮,在弹出的窗口中添加Flash为STM32F3xx Flash;   
  • 点击确定和OK,完成工程配置。
下面,在User文件夹中新建一个main.c文件,拷贝一下内容(一个简单的流水灯程序,里面包含有主要的注释)。用USB数据线连接你的STM32F3探索者套件(USB ST-LINK接口),编译,仿真即可观察到8个板载LED等顺时针旋转(间隔是500ms)。
#include "stm32f30x.h"
#include "core_cm4.h"//包含此头文件之后才可以使用SysTick?
static __IO uint32_t TimingDelay;
void Delay(__IO uint32_t nTime);
int main(void)
{
  /*!< At this stage the microcontroller clock setting is already configured,
       this is done through SystemInit() function which is called from startup
       file (startup_stm32f30x.s) before to branch to application main.
       To reconfigure the default setting of SystemInit() function, refer to
       system_stm32f30x.c file
     */
 u8 i;
 RCC_ClocksTypeDef RCC_Clocks;
 GPIO_InitTypeDef GPIO_InitStructure;
  RCC_GetClocksFreq(&RCC_Clocks);
  SysTick_Config(RCC_Clocks.HCLK_Frequency / 10);
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOE, ENABLE); 
  /* STM32F3探索者套件中八个LED灯分别对应PE8~PE15*/
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
//  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
 
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
  GPIO_Init(GPIOE, &GPIO_InitStructure);

  while (1)
  {  
  for(i=0;i

工程模板.zip

下载

4.44 MB, 下载次数: 601, 下载积分: ST金币 -1

收藏 1 评论1 发布时间:2013-3-6 21:21

举报

1个回答
阿呆 回答时间:2013-3-7 14:01:31

RE:STM32F3探索者套件学习之路之第一个测试程序:永恒的流水灯

沙发!感谢分享!

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版