- 1、本文档共38页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
PAGE1
PAGE1
TM4C123GGPIO接口编程
1.GPIO接口概述
GPIO(GeneralPurposeInput/Output)接口是单片机中非常常见且重要的外设之一。GPIO端口可以配置为输入或输出,用于连接外部设备和传感器。在TivaC系列TM4C123G中,GPIO接口非常灵活,支持多种配置模式,包括数字输入/输出、模拟输入、外设功能复用等。
1.1GPIO端口和引脚
TM4C123G包含多个GPIO端口,每个端口包含多个引脚。每个引脚可以独立配置为输入或输出。端口通常用字母表示,如A、B、C等,每个端口包含8个引脚,用数字0-7表示。例如,PA0表示端口A的第0个引脚。
1.2GPIO寄存器
GPIO接口的配置和操作是通过访问特定的寄存器来实现的。主要寄存器包括:
GPIO_DATA:用于读取或写入引脚的当前状态。
GPIO_DIR:用于配置引脚的方向,是输入还是输出。
GPIO_AFSEL:用于选择引脚的复用功能。
GPIO_DEN:用于启用或禁用引脚的数字功能。
GPIO_PCTL:用于配置引脚的外设功能。
GPIO_IS:用于配置引脚的中断触发方式(电平或边沿)。
GPIO_IBE:用于配置引脚的中断边沿检测方式(双边沿或单边沿)。
GPIO_IEV:用于配置引脚的中断事件类型(上升沿或下降沿)。
GPIO_ICR:用于清除引脚的中断标志。
GPIO_IM:用于启用或禁用引脚的中断。
2.GPIO端口初始化
在使用GPIO接口之前,需要先进行端口的初始化配置。初始化过程包括配置引脚的方向、启用数字功能、配置外设功能等。
2.1配置引脚方向
配置引脚的方向是通过设置GPIO_DIR寄存器来实现的。以下是一个简单的示例,将PA0配置为输出:
#includestdint.h
#includetm4c123gh6pm.h
//配置PA0为输出
voidGPIO_Init(void){
//1.使能端口A的时钟
SYSCTL_RCGCGPIO_R|=SYSCTL_RCGCGPIO_R0;
//2.等待时钟稳定
while((SYSCTL_PRGPIO_RSYSCTL_PRGPIO_R0)==0){
//等待端口A时钟稳定
}
//3.选择引脚为数字功能
GPIO_PORTA_AMSEL_R=~0x01;//清除PA0的模拟功能
GPIO_PORTA_DEN_R|=0x01;//启用PA0的数字功能
//4.配置PA0为输出
GPIO_PORTA_DIR_R|=0x01;//设置PA0为输出
GPIO_PORTA_DATA_R=~0x01;//清除PA0的当前状态
}
2.2启用数字功能
启用数字功能是通过设置GPIO_DEN寄存器来实现的。以下是一个示例,启用PA0的数字功能:
//启用PA0的数字功能
voidGPIO_EnableDigital(void){
GPIO_PORTA_DEN_R|=0x01;//启用PA0的数字功能
}
2.3配置外设功能
配置外设功能是通过设置GPIO_AFSEL和GPIO_PCTL寄存器来实现的。以下是一个示例,将PA0配置为I2C功能:
//配置PA0为I2C功能
voidGPIO_ConfigI2C(void){
//1.选择PA0为复用功能
GPIO_PORTA_AFSEL_R|=0x01;//选择PA0为复用功能
//2.配置PA0的复用功能
GPIO_PORTA_PCTL_R=(GPIO_PORTA_PCTL_R~0x0000000F)|0//配置PA0为I2C功能
//3.禁用模拟功能
GPIO_PORTA_AMSEL_R=~0x01;//清除PA0的模拟功能
//4.启用数字功能
GPIO_PORTA_DEN_R|=0x01;//启用PA0的数字功能
//5.配置引脚为外设功能
GPIO_PORTA_DIR_R|=0x01;//设置PA0为输出
}
3.GPIO输入输出操作
完成GPIO端口的初始化后,可以通过读写GPIO_DATA寄存器来实现引脚的输入输出操作。
3.1读取GPIO输入
读取GPIO输入是通过GPI
您可能关注的文档
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(1).Arduino Due 概述.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(2).ATSAM3X8E 微控制器介绍.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(3).Arduino Due 硬件架构.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(4).电源管理与供电方式.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(5).数字输入输出.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(6).模拟输入输出.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(7).通信接口:串口、SPI、I2C.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(8).高级定时器和PWM功能.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(9).外部中断.docx
- Arduino 系列:Arduino Due (基于 ATSAM3X8E)_(10).ADC与DAC功能.docx
最近下载
- 2025年广东省基层住院医师线上岗位培训(口腔学)专业课答案(1-2).docx
- 2025年设备监理师《设备工程质量管理与检验》考前点题卷一.docx VIP
- 六西格玛案例之优化电池烘烤工艺.pptx VIP
- 机动车驾驶人考试员相关规定幻灯片.ppt
- 设备使用管理标准.pptx VIP
- 16D303-2常用风机控制电路图.doc
- 《七大浪费分析与改善》培训.ppt VIP
- 人教版《义务教育教科书数学》教材培训.ppt VIP
- 2025年设备监理师《设备工程质量管理与检验》模拟试卷二.docx VIP
- 青岛科技大学2022-2023学年第2学期《高等数学(下)》期末试卷(B卷)附标准答案.pdf
文档评论(0)