云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > STM32快速入门教程

STM32快速入门教程

  • 62 次阅读
  • 3 次下载
  • 2026/4/24 12:27:33

STM32快速入门教程

开发编译的软件: IAR EWARM 4.42A JTAG工具: ST-LINK2(开发板自带) 开发板: 万利 STM32EK(199元) 建议看的资料:

《STM32F10X-128K-EVAL MCU》 ST公司 STM32开发板的电路图 《STM32技术参考手册—RM0008.pdf 或 STM32F103-CN.pdf 》 《Cortex-M3权威指南Cn.pdf》 《如何在IAR下使用STM库.pdf》

《STM32F10xxx_Library_Manual_ChineseV2.pdf》

《汉化STM32F的固件.rar》----网友: SUNKE9 《 netjob的BLOG上的初学者笔记 》

STM32 :把引脚BOOT1,BOOT0接地,3。3伏特供电,STM32就可以运行,无需外部接晶振。

芯片内部有复位电路。STM32上电后默认使用内部【精度8MHZ左右】晶振,如果外部接了8MHZ,

可以切换使用外部8MHZ,并最终PLL倍频到72MHZ.

软件开发上,我们可以从万利公司或ST公司 给 IAR公司写的STM32例子, 首先一点,目前 STM32软件开发都是使用ST公司STM32库,而我的BLOG上例子不是使用STM32库。

我自己建立了STM32的头文件:stm32f103.h

原因是 ST公司的STM32函数库 太庞大复杂,效率低。 而且会让开发人员不懂的如何操作STM32

的寄存器,不懂的CPU 是如何工作的。 一个STM32程序,有几个必要文件: 【

stm32f103.h 我自己定义的 STM32头文件 用来代替STM32函数库 cortexm3_macro.s 宏定义函数 stm32f10x_vector.c 中断初始化 stm32f10x_it.c 中断函数 main.c 主函数 】

//=================================================== // 完整例子: 万利开发板上跑马灯程序 // 轮流点亮LED灯。

//===================================================

cortexm3_macro.s

stm32f10x_vector.c stm32f10x_it.c

上面三个文件独立加入工程中。

而且stm32f10x_it.c 可以不加,如果不可中断 【main.c内容:】

#include \ void delay(void);

void STM32_RCC_Configuration(void); void STM32_GPIO_Configuration(void); void STM32_NVIC_Configuration(void); void STM32_Led_Config(void);

void main(void) {

int i=\

/* System Clocks Configuration */ STM32_RCC_Configuration();

/* GPIO ports pins Configuration */

STM32_GPIO_Configuration(); /* NVIC Configuration */

// STM32_NVIC_Configuration();// 可以省略 因为没开中断 STM32_Led_Config();

while(1) {

delay(); switch(i) {

case 1:

// GPIO_ResetBits(GPIOC, GPIO_Pin_4); //关LED5 这个是使用STM32库函数方法

// GPIO_SetBits(GPIOC, GPIO_Pin_7); //开LED2 这个是使用STM32库函数方法

STM32_Gpioc_Regs->bsrr.bit.BR4 =1;// 1:清除对应的ODRy位为0 STM32_Gpioc_Regs->bsrr.bit.BS7 =1;// 1:设置对应的ODRy位为1

break;

case 2:

//GPIO_ResetBits(GPIOC, GPIO_Pin_7); //关LED2 这个是使用STM32库函数方法

//GPIO_SetBits(GPIOC, GPIO_Pin_6); //开LED3 这个是使用STM32库函数方法

STM32_Gpioc_Regs->bsrr.bit.BR7 =1;// 1:清除对应的ODRy位为0 STM32_Gpioc_Regs->bsrr.bit.BS6 =1;// 1:设置对应的ODRy位为1 break;

case 3:

//GPIO_ResetBits(GPIOC, GPIO_Pin_6); //关LED3 这个是使用STM32库函数方法

//GPIO_SetBits(GPIOC, GPIO_Pin_5); //开LED4 这个是使用STM32库函数方法

STM32_Gpioc_Regs->bsrr.bit.BR6 =1;// 1:清除对应的ODRy位为0 STM32_Gpioc_Regs->bsrr.bit.BS5 =1;// 1:设置对应的ODRy位为1 break; case 4:

//GPIO_ResetBits(GPIOC, GPIO_Pin_5); //关LED4 //GPIO_SetBits(GPIOC, GPIO_Pin_4); //开LED5

STM32_Gpioc_Regs->bsrr.bit.BR5 =1;// 1:清除对应的ODRy位为0 STM32_Gpioc_Regs->bsrr.bit.BS4 =1;// 1:设置对应的ODRy位为1 i=\ break; default : i=\ break;

}//

i++; //切换到下一个灯

delay();

}//end main()

//====================================================== //

//======================================================

void delay(void)

{

int i,j; j=0;

for (i=0; i<0xfffff; i++) j++; // 1,048,575

}//end sub

// netjob's blog 上的文件。。。

void STM32_RCC_Configuration(void){;} void STM32_GPIO_Configuration(void){;}

void STM32_NVIC_Configuration(void){;} void STM32_Led_Config(void){;}

//====================================================== //======================================================

搜索更多关于: STM32快速入门教程 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

STM32快速入门教程 开发编译的软件: IAR EWARM 4.42A JTAG工具: ST-LINK2(开发板自带) 开发板: 万利 STM32EK(199元) 建议看的资料: 《STM32F10X-128K-EVAL MCU》 ST公司 STM32开发板的电路图 《STM32技术参考手册—RM0008.pdf 或 STM32F103-CN.pdf 》 《Cortex-M3权威指南Cn.pdf》 《如何在IAR下使用STM库.pdf》 《STM32F10xxx_Library_Manual_ChineseV2.pdf》 《汉化STM32F的固件.rar》----网友: SUNKE9 《 netjob的BLOG上的初学者笔记 》 STM32 :把引脚BOOT1,BOOT0接地,3。3

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com