- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
实验三跑马灯实验
实验目的:
通过一个经典的跑马灯程序,了解STM32F1的IO口作为输出使用的方法。通过代码控
制ALIENTEK战舰STM32开发板上的两个LED:DS0和DS1交替闪烁,实现类似跑马灯
的效果
内容要点:
1.硬件设计
本章用到的硬件只有LED(DS0和DS1)。其电路在ALIENTEK战舰STM32F103
开发板上默认是已经连接好了的。DS0接PB5,DS1接PE5。所以在硬件上不需
要动任何东西。其连接原理图如图:
2.软件设计
跑马灯实验我们主要用到的固件库文件是:
stm32f10x_gpio.c/stm32f10x_gpio.h
stm32f10x_rcc.c/stm32f10x_rcc.h
misc.c/misc.h
stm32f10x_usart/stm32f10x_usart.h
其中stm32f10x_rcc.h头文件在每个实验中都要引入,因为系统时钟配置函数以及
相关的外设时钟使能函数都在这个其源文件stm32f10x_rcc.c中。
stm32f10x_usart.h和misc.h头文件在我们SYSTEM文件夹中都需要使用到,所
以每个实验都会引用。
首先,找到之前新建的Template工程,在该文件夹下面新建一个HARDWARE
的文件夹,用来存储以后与硬件相关的代码,然后在HARDWARE文件夹下新
建一个LED文件夹,用来存放与LED相关的代码。新建led.h和led.c文件,
一个外设对应一个.h和.c文件。
在ManageComponents管理里面新建一个
HARDWARE的组,并把led.c加入到这个组里面,
将led.h头文件的路径加入到工程里面
一般的头文件有固定的格式,多个地方调用头文件会重复引用,为了避免头文件内
容重复引用,一般通过预编译的方式来写头文件。一般的格式如下:
#ifndef__LED_H
#define__LED_H
……
#endif
第一次调用时会将#define下面这一节全部定义,重复调用时,下面的东西就不会
被引用。
头文件里一般用来写函数声明或者宏定义,在源文件中再去定义具体的函数。
#ifndef__LED_H
#define__LED_H
voidLED_Init(void);
#endif
然后我们打开USER文件夹下的LED.uvprojx工程(如果是使用的上面新建的工
程模板,那么就是Template.uvprojx,大家可以将其重命名为LED.uvprojx),按
新建按钮新建一个文件,然后保存在HARDWARE-LED文件夹下面,保存为
led.c。在该文件中输入如下代码:
#includeled.h
#includestm32f10x.h//引用顶层头文件,否则RCC_APB2PeriphClockCmd()函数不可见
//初始化PB5和PE5为输出口.并使能这两个口的时钟
//LEDIO初始化
voidLED_Init(void)
{
GPIO_InitTypeDefGPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GP
文档评论(0)