你好!欢迎来到 !
语言
当前位置: 首页>> 技术中心>> 单片机入门>> STM32F103学习之编写第一个STM32程序

STM32F103学习之编写第一个STM32程序

关键字: STM32 STM32F103 编程 作者:admin 来源:不详 发布时间:2018-05-19 浏览:2

因为第一次接触STM的单片机,各种寄存器和API都不熟悉,于是结合STM的库函数和编程手册对照理解。建立好工程之后,编写main函数。

1.不管哪种单片机,上电以后第一重要的事就是设置时钟和初始化引脚。单看STM32F的时钟:

能作为STM32F103的系统时钟的有三种,外部时钟,内部时钟,PLL时钟。

1.jpg

跟踪到SystemInit里面,一开始CPU工作于内部时钟,代码初始化一些时钟寄存器的值。然后调用SetSysSClock()设置新的时钟源。

2.jpg

可以看到用户只需要定义相应的宏就可以设定时钟。宏定义在本文件的最上面。我使用的芯片是STM32F103C6T8,文件中定义了

3.jpg

感觉STM的库写的不好的是如果72MHz时钟不正常,时钟初始化函数没用任何返回信息,只能在STM提供的函数中增加:

4.jpg

有失程序的灵活性和独立性。

而初始化代码中的各种寄存器定义的赋值参考STM编程手册,就明白了。主要的寄存器有这些:

5.jpg

2.设置GPIO: 点亮一个Led:PA3---电阻--Led--GND

6.jpg

Ctr+F5开始Debug,运行程序,察看效果(下载程序之后程序没有直接执行,不知道我设置的问题还是本身就这样子)。

后来发现可以在这里设置:

7.jpg

3.使用printf函数。需要配置选项,不然的话,只要加入了printf,程序不能正常运行。

编辑:admin 最后修改时间:2018-05-23

联系方式

0755-82591179

传真:0755-82591176

邮箱:vicky@yingtexin.net

地址:深圳市龙华区民治街道民治大道973万众润丰创业园A栋2楼A08

Copyright ? 2014-2023 All Rights Reserved.粤ICP备14043402号-4

Baidu
map