通用数字量输入输出GPIO
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
www.f28335.com 网站免费获取。
本书可作为DSP开发应用的入门级教材,也可作为其他 层次DSP开发应用人员的参考手册。
第七讲:通用数字量输入/输出(GPIO)
1、GPIO工作原理 2、GPIO寄存器 3、GPIO编程
4、基于F28335 GPIO的跑马灯实验
GPIO工作原理
外界二进制信息(数字量)要被CPU处理,要给存储器存放,就需要外界信息源
了多个功能,同一时刻,每个引脚只能用该引脚的一个功能。究竟工作在哪个模式
下,可以通过GPIO Mux(复用开关)寄存器配置每个引脚的具体功能(通用数字 量I/O或者外设专用功能)。如果将这些引脚选择数字量I/O模式,可以通过方向寄
存器GPxDIR配置数字量I/O的方向,即是作为输入引脚还是作为输出引脚;还可以
通过量化寄存器GPxQUAL对输入信号进行量化限制,从而可以消除数字量I/O引脚 的噪声干扰。此外,有下面4种方式对GPIO引脚进行读写操作:
GPIO工作原理
1、可以通过GPxDAT寄存器独立读/写I/O信号;
2、利用GPxSET寄存器写1(写0无效)对I/O口进行置位
3、利用GPxCLEAR寄存器写1(写0无效)对I/O口进行清零;
GPIO寄存器
名 称 GPACTRL GPAQSEL1 GPAQSEL2 GPAMUX1 GPAMUX2 GPIOADIR GPIOAPUD GPBCTRL GPBQSEL1 GPBQSEL2 GPBMUX1 GPBMUX2 GPBDIR GPBPUD GPCMUX1 GPCMUX2 GPCDIR GPCPUD GPIOXINT1SEL GPIOXINT2SEL GPIONMISEL GPIOXINT3SEL GPIOXINT4SEL GPIOXINT5SEL GPIOXINT6SEL GPIOXINT7SEL GPIOLPMSEL 地 址 0X6F80 0X6F82 0X6F84 0X6F86 0X6F88 0X6F8A 0X6F8C 0X6F90 0X6F92 0X6F94 0X6F96 0X6F98 0X6F9A 0X6F9C 0X6FA6 0X6FA8 0X6FAA 0X6FAC 0X6FE0 0X6FE1 0X6FE2 0X6FE3 0X6FE4 0X6FE5 0X6FE6 0X6FE7 0X6FE8 空间地址 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 描 述 GPIOA控制寄存器 GPIOA量化控制寄存器1 GPIOA量化控制寄存器2 GPIOA选择寄存器1 GPIOA选择寄存器2 GPIOA方向寄存器 GPIOA上拉禁止寄存器 GPIOB控制寄存器 GPIOB量化控制寄存器1 GPIOB量化控制寄存器2 GPIOB选择寄存器1 GPIOB选择寄存器2 GPIOB方向寄存器 GPIOB上拉禁止寄存器 GPIOC 选择寄存器1 GPIOC 选择寄存器2 GPIOC 方向寄存器 GPIOC 上拉禁止寄存器 外部中断源选择寄存器1 外部中断源选择寄存器2 不可屏蔽中断源选择寄存器 外部中断源选择寄存器3 外部中断源选择寄存器4 外部中断源选择寄存器5 外部中断源选择寄存器6 外部中断源选择寄存器7 唤醒低功耗模式源选择寄存器
GPIO寄存器
struct GPIO_CTRL_REGS { union union union union union union union Uint32 union union union union union union union Uint16 union union union union }; GPACTRL_REG GPA1_REG GPA2_REG GPA1_REG GPA2_REG GPADAT_REG GPADAT_REG GPACTRL; GPAQSEL1; GPAQSEL2; GPAMUX1; GPAMUX2; GPADIR; GPAPUD; rsvd1; GPBCTRL_REG GPBCTRL; GPB1_REG GPBQSEL1; GPB2_REG GPBQSEL2; GPB1_REG GPBMUX1; GPB2_REG GPBMUX2; GPBDAT_REG GPBDIR; GPBDAT_REG GPBPUD; rsvd2[8]; GPC1_REG GPCMUX1; GPC2_REG GPCMUX2; GPCDAT_REG GPCDIR; GPCDAT_REG GPCPUD;
第七讲:通用数字量输入/输出(GPIO)
1、GPIO工作原理 2、GPIO寄存器 3、GPIO编程应用
4、基于F28335 GPIO的跑马灯实验
基于F28335 GPIO的跑马灯实验
下面以实例为大家介绍:
本讲到此结束 感谢大家的收看
学习、使用中如遇任何问题,可与我们联系 嵌嵌论坛:http://www.armdsp.net 研旭旗舰店(天猫):http://yanxusmpj.tmall.com
与两者之间的交换接口,这样的交换接口若用来进行通用目的数字量的输入输出,就
被称为通用数字量输入/输出接口,简称GPIO。F28335 DSP有多达88个GPIO口,对 应着芯片引出的88个引脚,随着芯片的封装与尺寸的确定,引脚数目是有限的,所以
这88个引脚多数都是功能复用的,即可以灵活配置为输入引脚,也可以灵活配置为输
4、利用GPxTOOGLE寄存器置1后(写0无效)来将I/O输出电平翻转,原来高 电平变成低电平,原来低电平则变成高电平。
GPIO工作原理
GPIO工作原理
第七讲:通用数字量输入/输出(GPIO)
1、GPIO工作原理 2、GPIO寄存器 3、GPIO编程
4、基于F28335 GPIO的跑马灯实验
《手把手教你学DSP——基于TMS320F28335》配套视频资 料
第七讲
通用数字量输入输出GPIO
南京研旭电气科技有限公司
公司网站:www.njyxdq.com www.f28335.com 天猫旗舰店:yanxusmpj.tmall.com 学习论坛: www.armdsp.net 交流邮箱:zqj518@vip.qq.com
第七讲:通用数字量输入/输出(GPIO)
1、GPIO工作原理 2、GPIO寄存器 3、GPIO编程应用
4、基于F28335 GPIO的跑马灯实验
GPIO编程应用
采用上述结构体定义可以直接对GPIO的寄存器进行操作,完成外部引脚的初始化操作。例如, 将IOA全部设置GPIO功能,输出状态,0量化: void Gpio_Select(void) { Uint16 var1; Uint16 var2; Uint16 var3; var1=0x0000; var2=0xffff; var3=0x0000; EALLOW; GpioCtrlRegs.GPAMUX1=var1;//GPIO0-15 GpioCtrlRegs.GPAMUX2=var1;//GPIO16-31 GpioCtrlRegs.GPADIR.all=var2;//GPIO0-31 GpioCtrlRegs.GPAQSEL1.all=var3; GpioCtrlRegs.GPAQSEL2.all=var3; EDIS; }
void GPIO_xint (void)
{ ELLOW; GpioCtrlRegs.GPBMUX2.bit.GPIO54 = 0; GpioCtrlRegs.GPBMUX2.bit.GPIO55 = 0; GpioCtrlRegs.GPBMUX2.bit.GPIO56 = 0; GpioCtrlRegs.GPBMUX2.bit.GPIO57 = 0; GpioCtrlRegs.GPBDIR.bit.GPIO54 = 0; GpioCtrlRegs.GPBDIR.bit.GPIO55 = 0; GpioCtrlRegs.GPBDIR.bit.GPIO56 = 0; GpioCtrlRegs.GPBDIR.bit.GPIO57 = 0; GpioCtrlRegs.GPBQSEL2.bit.GPIO54= 0; GpioCtrlRegs.GPBQSEL2.bit.GPIO55= 0; GpioCtrlRegs.GPBQSEL2.bit.GPIO56= 0; GpioCtrlRegs.GPBQSEL2.bit.GPIO57= 0; GpioIntRegs.GPIOXINT3SEL.bit.GPIOSEL = 54;GpioIntRegs.GPIOXINT4SEL.bit.GPIOSEL = 55; GpioIntRegs.GPIOXINT5SEL.bit.GPIOSEL = 56; GpioIntRegs.GPIOXINT6SEL.bit.GPIOSEL = 57; XIntruptRegs.XINT3CR.bit.POLARITY= 0; XIntruptRegs.XINT4CR.bit.POLARITY= 0; XIntruptRegs.XINT5CR.bit.POLARITY= 0; XIntruptRegs.XINT6CR.bit.POLARITY= 0; XIntruptRegs.XINT3CR.bit.ENABLE = 1; XIntruptRegs.XINT4CR.bit.ENABLE = 1; XIntruptRegs.XINT5CR.bit.ENABLE = 1; XIntruptRegs.XINT6CR.bit.ENABLE = 1; EDIS; }
GPIO编程应用
F28335一共有88个GPIO,分为3组,分别是A、B、C。其中A组GPIO可以通过软件配置为外部中 断1、2以及NMI功能,B组GPIO可以通过软件配置为外部中断3、4、5、6、7功能。而C组的GPIO不能 配置为中断功能。如果将某GPIO配置为外部中断功能,那么下面是设置步骤: 1. 将数字量I/O配置为GPIO功能; 2. 将数字量I/O配置为输入方向; 3. 将数字量I/O量化配置正确; 4. 利用外部中断选择寄存器选择相应的引脚为外部中断源; 5. 为此GPIO触发信号设置极性,上升沿、下降沿或者双边沿;
出引脚,即可以作为通用I/O引脚,也可以作为特殊功能口(如SCI、SPI、ECAN等), 非常灵活,用户根据需要,可以通过GPIO MUX(输入输出多路选择器,复用开关) 寄存器来进行相关配置,下边详细介绍GPIO的工作原理及其配置过程。
GPIO工作原理
F28335 DSP将这88个GPIO口分成了A、B、C三大组,A组包括GPIO0至 GPIO31,B组包括GPIO32至GPIO63,C组包括GPIO64至GPIO87,每个引脚都复用
本课程是依照南京研旭电气科技有限公司推出的TMS320F28335至尊板来进 行详细讲解的,如果在学习过程中遇到任何疑问欢迎与我们进行联系沟通。
本教程是依照南京研旭电气科技有限公司推出的 TMS320F28335至尊板来进行详细讲解的。本书详细地阐 述了TMS320F28335 DSP处理器内部各功能模块的硬件结 构、工作原理、资源分配、功能特点以及应用等内容,同时 每个模块都配了实验教程,方便学生掌握提高。 本书配套资料包括:书中所有实例例程、烧写软件工具、 配套PPT、配套视频以及常用的调试工具软件,读者可以在 研旭电气提供的交流论坛(www.armdsp,net )相关版块或
南Baidu Nhomakorabea研旭电气科技有限公司 www.njyxdq.com