STM32实验-GPIO输出-流水灯实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 !!! 欢迎您的下载,资料仅供参考!