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

初学STM32F0探索套件之《STM32F0DISCOVERY点亮LED》

[复制链接]
chen8710 发布时间:2013-12-14 22:11
 点个LED看似简单,实际上它是在了解ST的编程特点及寄存器控制基础上的。
一、启动

ST的公司的例程中,使用startup_stm32f030x8.s文件作为启动时执行的第一步。在这个文件里要执行的工作是:

n        初始化SP;

n        初始化PC指针 --- 指向iar_program_start

n        设置中断向量表各exception的地址

n        配置系统时钟

n        转向C语言的main函数

 

复位入口的指令为:

Reset_Handler

       LDR     R0, =SystemInit

       BLX     R0                              // 调用SystemInit()函数。这个函数在

                                                               //  system_stm32f0xx.c文件中。

       LDR     R0, =__iar_program_start

       BX      R0                              // 跳转主程序

 

可见,ST公司的方法,对系统时钟等的初始化,并不是在main()函数中执行的。

SystemInit()函数中,设置RCC的几个寄存器,初始化系统时钟。

…………

#ifdefined (PLL_SOURCE_HSI)
  /* At this stage the HSI is already enabled */
   …………
#else
#if defined (PLL_SOURCE_HSE)
  /* Enable HSE */    
  …………
#endif

 

二、延时函数

在早期的单片机应用中,一般使用循环来延时,而M0SYSTICK,使用它延时就可不占CPU时间。

1、配置Systick

使用SysTick_Config()函数完成。

2、在中断SysTick_Handler中实现计数

void SysTick_Handler(void)

{

  if(TimingDelay != 0x00)

  {

   TimingDelay--;

  }

}

三、IO控制

stm32f030IO功能主要有

l        输入悬空

l        输入上拉

l        输入下拉

l        模拟信号

l        输出开漏加上拉或下拉

l        输出推挽加上拉或下拉

l        其它功能推挽上拉或下拉

l        其它功能开漏上拉或下拉

IO的控制寄存器实现以上功能。有端口上(下)拉控制寄存器、置位寄存器、清0寄存器、切换寄存器等12个控制寄存器。对LED的控制,使用数据输出寄存器。

 

四、程序

int main(void)

{

       LEDInit(LED3);

       LEDInit(LED4);

 

       /*Turn on LED3 and LED4 */

       LEDOn(LED3);

       LEDOn(LED4);

 

       if(SysTick_Config(SystemCoreClock / 1000))

       {

              /*Capture error */

              while(1);

       }

      

       for(;;)

       {

   /* Toggle LED4 */

    LEDToggle(LED4);

 

   /* Insert 50 ms delay */

   Delay(50);

 

   /* Toggle LED3 */

   LEDToggle(LED3);

 

   /* Insert 100 ms delay */

   Delay(100);

       }

}
收藏 评论2 发布时间:2013-12-14 22:11

举报

2个回答
沐紫 回答时间:2013-12-16 15:02:34

RE:初学STM32F0探索套件之《STM32F0DISCOVERY点亮LED》

多谢楼主~
 
 
已添加到社区网友原创汇总:
STM32F030探索套件开发日志,中文教程,使用问答70篇
zhenweiaaa 回答时间:2020-8-29 20:50:23
谢谢LZ

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版