收藏 分销(赏)

RFID的GPIO基础实验.doc

上传人:天**** 文档编号:4345670 上传时间:2024-09-09 格式:DOC 页数:9 大小:960KB
下载 相关 举报
RFID的GPIO基础实验.doc_第1页
第1页 / 共9页
RFID的GPIO基础实验.doc_第2页
第2页 / 共9页
点击查看更多>>
资源描述
RFID的GPIO基础实验 本科生实验报告 实验课程 RFID 学院名称 信息科学与技术学院 专业名称 物联网工程 学生姓名 曹林鑫 学生学号 20141060301 指导教师 方勇 实验地点 6B608 实验成绩 二〇一六 年十二 月 二〇一六年十二月 GPIO 基础 实验 1. 实验目的 1.了解程序的整体框架。 2.了解 STM32 的 GPIO 接口。 3.使用 GPIO 接口进行简单操作,控制蜂鸣器。 4.了解基本的电路结构和芯片引脚。 2. 实验设备 1. RFID 创新套件实验箱 2. J-Link 一个 3. 实验原理 STM32 的 IO 口可以由软件配置成 8 种模式:浮空输入、带上拉输入、 带下拉输入、模拟输入、 开漏输出、 推挽输出、 复用功能的推挽输出、 复用功能的开漏输出,其中模式 7 和模式 8 需根据具体的复用功能决定。对应到 STM32 库文件中的定义如下:BI7N5gX。wQEE3F0。JCJieGz。 typedef enum { GPIO_Mode_AIN = 0x0, //模拟输入 GPIO_Mode_IN_FLOATING = 0x04, //悬空输入 GPIO_Mode_IPD = 0x28, //下拉输入 GPIO_Mode_IPU = 0x48, //上拉输入 GPIO_Mode_Out_OD = 0x14, //开漏输出 GPIO_Mode_Out_PP = 0x10, //推挽输出 GPIO_Mode_AF_OD = 0x1C, //开漏复用 GPIO_Mode_AF_PP = 0x18 //推挽复用 } GPIOMode_Typedef; STM32 的 GPIO 端口在作为输出时,可以软件配置端口最大支持的时钟速率,有以下几种:时钟速率 10MHz、时钟速率 2MHz、时钟速率 50MHz,对应到 STM32 库中定义如下:v26VNy1。fVkTjah。Ya6BbS3。 typedef enum { GPIO_Speed_10MHz = 1, GPIO_Speed_2MHz, GPIO_Speed_50MHz } GPIOSpeed_TypeDef; 为了降低 STM32 处理器的功耗,可以依据实际的要求,选择合适的时钟速率,GPIO 口 支持的最大速率越低,它产生的功耗也越低。 蜂鸣器控制管脚为 PE4。蜂鸣器的电路原理图如下。 在对 STM32 的 GPIO 管脚有一定了解后,我们看一个完整的 GPIO 端口初始化的例子。GPIO_InitTypeDef GPIO_InitStructure;MuRswaT。FlB5QcK。1b9ra4L。 //配置使用的 GPIO 时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);SFrUKTn。oUjFaTw。fm4SjPb。 //配置用到的管脚 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; //配置 GPIO 口输出模式 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //配置 GPIO 口速率 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //使蜂鸣器相关的 GPIO 口初始化 GPIO_Init(GPIOE, &GPIO_InitStructure); //关闭蜂鸣器,使对应的 GPIO 口输出为 0。 GPIO_ResetBits(GPIOE, GPIO_Pin_4); 4. 实验步骤 1. 在 STM32 实验平台上插上 J-Link 烧录线,接通 RFID 创新套件实验箱电源。 2. 打开实验箱开关以及 STM32 实验平台的开关。 3.在J-Flash中打开光盘\RFID创新套件\03 实验教程\02 STM32基础实验目录下的GPIO基础ufXzaMf。eEuhvSd。DKECBIR。 实验.hex 文件。 4. 将程序烧录到芯片中。 5. 可以听到蜂鸣器响起。 5. 程序解析 void BEEP_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; //配置使用的 GPIO 时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);KZmIXab。58XcfKp。DnvKPjZ。 //配置用到的管脚 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; //配置 GPIO 口输出模式 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //配置 GPIO 口速率 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //使蜂鸣器相关的 GPIO 口初始化 GPIO_Init(GPIOE, &GPIO_InitStructure); //关闭蜂鸣器,使对应的 GPIO 口输出为 0。 GPIO_ResetBits(GPIOE, GPIO_Pin_4); } /**************************************************************************sDiy4vP。kLpWUmn。LWpLP2P。 * Function Name : main * Description : Main program. * Input : None * Output : None * Return : None **************************************************************************/wacheQn。D7sLoxd。TcIpkmh。 void main(void) { //STM32 串口初始化函数 UART_Config(); //配置蜂鸣器的 GPIO 管脚 PE4 BEEP_Config(); show_menu(); //关闭液晶显示屏的背光 turnoff_lcd(); //关闭蜂鸣器 GPIO_SetBits(GPIOE, GPIO_Pin_4); while (1); } 6.实验结果 1、程序烧录 2、实验效果蜂鸣器响 7.实验总结 学生实验 心得 通过这次的实验在一定程度上,了解了GPIO原理,进一步熟悉了STM32开发板基本组成电路,并且能够通过使用手册和自己所掌握的编程基础,对该芯片进行编程从而达到实验要求。在实验过程中也遇到过一些问题,比如一开始没有GPIO_Mode_IN_FLOATING = 0x04, //悬空输入,使得程序能够烧录,却不能够得到实验效果。在这一点上,查阅有关资料才得以解决。重要的是通过这次实验不仅对stm32有了深一步的理解,同时也锻炼了自己的动手能力和查阅资料的能力。 学生(签名): 年 月 日 指导 教师 评语 成绩评定: 指导教师(签名): 年 月 日
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服