世纪电源网社区logo
社区
Datasheet
标题
返回顶部
原创

经验分享——STM32F103简易入门学习

[复制链接]
查看: 1315 |回复: 10
1
BingSun
  • 积分:10963
  • |
  • 主题:58
  • |
  • 帖子:1997
积分:10963
LV10
总工程师
  • 2019-3-7 12:31:50
大家好,在学习之前需要做一些准备,实验板+编程仿真器。这两样我是在淘宝买的
2019-03-05_16-41-26.jpg
实验板不到10元一块,仿真器好像是19.8元,包邮!!!上图中我已经把两个板连到一起了,实验板由编程器供电,所以实验时只要将编程器接到电脑上就可以了。
在淘宝购买上面两个产品时还有很多学习资料及开发软件可下载,资料里也有大量例程。

开发环境的选择:开发环境有很多,应用的较多的是IAR,Keil ,STVP 等
IAR需要破解,Keil 免费版有32K代码限制,STVP是ST官方软件免费使用,我选择Keil ,因为我大部份代码都在10K以内,并且Keil 用的人也多,有问题很容易在网上找到解决方法,Keil-ARM 现在最新版本是MDK526,可以直接在官网下载。

安装好软件把编程器接上电脑,检查驱动是否正确安装,先运行一个学习板附带的例程,以检验软硬件是否正确安装好。

2019-03-07_11-26-33.jpg
这是我自己写的一个LED闪烁的例子。
第一步:配置芯片时钟 System_Clock_HSE(9);  使用外部晶振,并且是9倍频,晶振为8M,所以系统时钟为72M
第二步:配置IO口
       RCC_GPIOC_EN; //使能GPIOC时钟   #define RCC_GPIOC_EN RCC->APB2ENR|=1<<4    //使能PORTC时钟
       GPIOC13_Input_AG;                       #define GPIOC13_Input_AG  GPIOC->CRH&=0XFF0FFFFF
       GPIOC13_Output_2M;                     #define GPIOC13_Output_2M  GPIOC->CRH|=0X00200000
   先配置为模拟输入是因为0就是模拟输入,也就是说先清零再赋值。
第三步:LED循环闪烁
       PC13 = ~RC13; //LED引脚翻转
       for(a=0;a<0x500000;a++); //闪烁速度  改变中间数值可以改变闪烁的速度。

关于PC13与RC13,这两个具体定义要到头文件里去看,这里简单说明一下,如果我需要C13引脚上输出一个高电平则写:PC13=1;如果我们要读这个引脚上的电平,则:Temp=RC13 ;

再例如,向C端口写一个数据:PC=Temp;  读C端口状态:Temp=RC ;
PC及RC在头件中的定义:#define PC  GPIOC->ODR           #define RC  GPIOC->IDR
PC=Temp;同等于GPIOC->ODR=Temp;  前者利于记忆与方便编程。
世纪电源网-九天
  • 积分:35835
  • |
  • 主题:691
  • |
  • 帖子:4034
积分:35835
超级版主
  • 2019-3-7 13:18:01
  • 倒数10
 
欢迎分享!~社区最近第十期 DIY实战经验 · 原创技术分享赛正在进行,可以来参与一下哦~
BingSun
  • 积分:10963
  • |
  • 主题:58
  • |
  • 帖子:1997
积分:10963
LV10
总工程师
  • 2019-3-7 13:32:18
  • 倒数9
 
谢谢!刚看了,好像时间就快结束了。
世纪电源网-九天
  • 积分:35835
  • |
  • 主题:691
  • |
  • 帖子:4034
积分:35835
超级版主
  • 2019-3-7 13:48:15
  • 倒数8
 
时间虽快结束了,但还是可以踊跃参加呀~
cyx7610
  • 积分:16461
  • |
  • 主题:80
  • |
  • 帖子:3614
积分:16461
LV10
总工程师
  • 2019-3-7 21:31:38
  • 倒数4
 
不错,不错。
anticipate
  • 积分:287
  • |
  • 主题:0
  • |
  • 帖子:31
积分:287
LV3
助理工程师
  • 2019-3-7 16:57:56
  • 倒数7
 
这是原厂的demo?
BingSun
  • 积分:10963
  • |
  • 主题:58
  • |
  • 帖子:1997
积分:10963
LV10
总工程师
  • 2019-3-7 17:07:48
  • 倒数6
 
应该不是,就是一个STM32F103C8T6片子最小系统板。要是自己做的话PCB打板费用都要好几十了。
BingSun
  • 积分:10963
  • |
  • 主题:58
  • |
  • 帖子:1997
积分:10963
LV10
总工程师
  • 2019-3-7 17:13:59
  • 倒数5
 
淘宝上不到10元,还附带例程。
cyx7610
  • 积分:16461
  • |
  • 主题:80
  • |
  • 帖子:3614
积分:16461
LV10
总工程师
  • 2019-3-7 21:32:10
  • 倒数3
 
可能会买到假货。
BingSun
  • 积分:10963
  • |
  • 主题:58
  • |
  • 帖子:1997
积分:10963
LV10
总工程师
  • 2019-3-7 21:35:53
  • 倒数2
 
反正能用,不能用可以退货+差评,您说呢?
BingSun
  • 积分:10963
  • |
  • 主题:58
  • |
  • 帖子:1997
积分:10963
LV10
总工程师
最新回复
  • 2019-3-24 14:47:22
  • 倒数1
 
其实ST-ARM编程方法与普通单片机一样,只要会其它单片机编程也就能编程ARM。
热门技术、经典电源设计资源推荐

世纪电源网总部

地 址:天津市南开区黄河道大通大厦8层

电 话:400-022-5587

传 真:(022)27690960

邮 编:300110

E-mail:21dy#21dianyuan.com(#换成@)

世纪电源网分部

广 东:(0755)82437996 /(138 2356 2357)

北 京:(010)69525295 /(15901552591)

上 海:(021)24200688 /(13585599008)

香 港:HK(852)92121212

China(86)15220029145

网站简介 | 网站帮助 | 意见反馈 | 联系我们 | 广告服务 | 法律声明 | 友情链接 | 清除Cookie | 小黑屋 | 不良信息举报 | 网站举报

Copyright 2008-2024 21dianyuan.com All Rights Reserved    备案许可证号为:津ICP备10002348号-2   津公网安备 12010402000296号