EDN首页   博客首页

日志档案

发表于 2008-7-15 19:49:28

8

标签: STM32  RVMDK  

[原创]STM32 RVMDK学习实例_1.GPIO软件仿真

使用KeilRealView MDK开发工具进行STM32的学习已经有一段时间了,感受最深的是MDK提供的软件仿真功能——很好很强大。从IAR转到MDK开发环境以后,我就很少像以前那样一遍遍的将程序下载到开发板上进行调试了,而更多的是采用MDK的软件仿真功能进行调试,有事半功倍的效果!从今天开始,我会陆续把以前做的一些试验发布到Blog里,希望大家多来捧场!

 

STM32 RVMDK学习实例的第一回就从GPIO的软件仿真入手。我使用的是RealView MDK 3.22评估版,英蓓特对其帮助文件进行了汉化,大家可以到下面的地址下载:http://www.realview.com.cn/down-list.asp?id=487

 

第一步当然是建立工程了,这里就不详细叙述了(可以参考Blog前文,网上也有很多介绍);

 

第二步编写代码并编译,关键代码如下:

int main(void)
{
#ifdef DEBUG
 debug();
#endif
 
 RCC_Configuration();
 GPIO_Configuration();
 
 while(1)
 {
  // For STM3210B-LK1
  GPIO_SetBits(GPIOB, GPIO_Pin_5);
  delay();
  GPIO_ResetBits(GPIOB, GPIO_Pin_5);
  
  GPIO_SetBits(GPIOB, GPIO_Pin_6);
  delay();
  GPIO_ResetBits(GPIOB, GPIO_Pin_6);
  
  GPIO_SetBits(GPIOB, GPIO_Pin_7);
  delay();
  GPIO_ResetBits(GPIOB, GPIO_Pin_7);
  
  GPIO_SetBits(GPIOB, GPIO_Pin_8);
  delay();
  GPIO_ResetBits(GPIOB, GPIO_Pin_8);
  
  GPIO_SetBits(GPIOB, GPIO_Pin_7);
  delay();
  GPIO_ResetBits(GPIOB, GPIO_Pin_7);
  
  GPIO_SetBits(GPIOB, GPIO_Pin_6);
  delay();
  GPIO_ResetBits(GPIOB, GPIO_Pin_6); 
 }
}

很简单,就是用GPIOB的5、6、7、8位实现流水灯效果。

 

第三步选择Debug工具,打开“Options对话框”-〉选择“Debug标签”-〉选中“Use Simulator->确定;

点击看大图

 

第四步进入Debug模式,打开“Debug菜单”-〉选择“Start/Stop…”此时会弹出32K代码限制的提示,不用理会,确定即可进入软件仿真模式。

Debug工具条如下:

点击看大图

 

第五步选择外围模块进行仿真,不同型号的STM32 会有不同的外设仿真功能。

打开“Peripheral菜单”-〉选择“GPIOB”打开仿真对话框

点击Debug工具条的运行按钮,在仿真对话框里就可以看到程序的运行结果了,GPIOB的各项参数一目了然。

 

好了,第一个仿真实例就到此为止了,挺简单的吧!下面是该实例的MDK项目文件,下回我会发一个比较复杂的仿真实例。

rar

 

系统分类: 单片机   |   用户分类: STM32   |   来源: 原创   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(443)    回复(2)  

投一票您将和博主都有获奖机会!

最新评论

  • aboy

    2008-7-17 18:53:07

    学习了,谢谢!

  • hawk05

    2008-7-18 16:23:13

    STM32进门的好例子,多谢了1