STM32实验-GPIO输出-流水灯实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3. 实验环境

WindouwslO Keil uVision5 课程实验报告

学院: ___________________ 专业: ______________ 2018年10月18日

4. 实验方法和步骤(含设计)

上。

(1 )实验硬件连接图

四个led灯如图连接到GPIO的6~9引脚(2)软件分析

使用到的GPIO端口需配置为输出模式,推挽(PP)模式输出,I0 口速度为50MHz

(3 )实验步骤

①建立工程文件:导入程序运行需要的库,加入主程序,调试运行环境,使程序可以成功被编译和运行且没有错误和警告。

②安装JLINK驱动程序,点击下载按钮将程序烧写进开发板中。

③检查led灯是否逐一顺序点亮,能够通过调整程序使点亮顺序改变。

(4)原函数

1 itinclude "led.h"

2 B/*

3 ( 1 )紺始牝GF IOC 的口

4 (2)定义延时蓟数

s —

6 void LEDInit(void)

7 0(

8 GPIOInitTypeDef GPIOInitStructurp;

9 RCC_APB2PeriphC 1 ockCmd(RCC_APB2P e riph_GPIOC, EWWLEJi 使隘P匚正时禅IS GPI0_ln 1 tStrut t urt.GFI0_Pin - GPI0_Pin_&\GPI0_Pin_7^GPI0_Pin_fl[GP 10_Pin_9; "PC飞濟口配匡

11 GPIOIni 稚冃辎出

12 GP Z0 I nitstrueture. GPIC^Speed - GPIO_Speed_56*Xz; //IO □谨复为50rKz

int nain(void)

{

LED_Init()j

( GPIO_ReietBiti(GPIOC J GPIO_Pirt…&)>

GPlO SeteitstQPtOC^GPlO Pin 7|GPIO Fin 8|GF10_Pin 9)^ GP Z0_Fle5etBit5(GPLCC, GPIO_Pin_7 ),

GPIO SetBitstGPlOC^GPIC Pin_6|GPlG Pin S|GPIO Pin (5PIO_ResetBits (GPIOC, 6PIO_Pin_a };

GPIOSetBitsfGPIOC,GPIO_Pin_5|GPI0_Pin_7|GPI0_Pin_9), Delay(IDCtW );

&PIO_Ft«etBlts(GPIOC ,GPIQ_Pir_9);

GP IO_Set B i t s ( 5P ItX, GP IO_Pir_51 GPXC_Pin_7 | GPIO P in_8), Delay{

5. 程序及测试结果

Build Output

Program Size : Code-156^ RO-date™336 RW*deta -^2 Zl-data-lSSS FroirELF : creating hex file ,,.

"* AOBJ\LED* axf H - 0 Error (a) f 0 Warning (s). 3uild Tir,e Elapsed : 00:00: 04

13 GPIOInittGPIOCj &GF IO_I nit Structure) , /7*訂始比 GPIOC.6

14 5PIO_SetBits(6PIOC,6PIO_Pin_5|6PIO_Pir_7|5PIO_Pin_a[GPIO_Pin_9)J //PC ,6 騒岀高

15 | } 16 =

17 void Delay(u32 count) 18 El{ 19 u32i-0;

29

^or(;i

21?

22 |

6 .实验分析与体会

如果4个LED 灯是与A 口的PA1、PA2、PA3、PA4相连,将led.c 文件中的GPIOC ” 改为GPIOA :并将Pin_X 改为对应的1~4脚。

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

GPIO 」ni tStructure.GPIO_Pi n 二 GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9

J

GPI O 」ni t(GPIOC, &GPIO_I nitStructure);

GPIO_SetBits(GPIOC,GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9);

改为

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

GPIO 」ni tStructure.GPIO_Pi n 二 GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4

J

GPIO _lni t(GPIOA, &GPIO_I ni tStructure);

2

Welcome To Download !!!

欢迎您的下载,资料仅供参考!

相关文档
最新文档