- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP原理及应用 9.1 GPIO多路复用器 X281X的DSP为用户提供了56个通用的数字I/O引脚,这些引脚基本上都是多功能复用引脚 。 复用是指这些引脚既可以作为DSP片内外设,例如EV、 SCI、 SPI、 CAN等的功能引脚,也可以作为通用的数字I/O口。 通过寄存器设置其应用 X281X的通用输入/输出多路复用器GPIO就是I/O引脚的管理机构,它将56个引脚分成了6组来进行管理,其中GPIOA和GPIOB各管理16个引脚,GPIOD管理4个引脚,GPIOE管理3个引脚,GPIOF管理15个引脚,GPIOG管理2个引脚。 GPIO多路功能复用的原理 9.1.1 GPIO的寄存器 功能选择控制寄存器GPxMUX 方向控制寄存器GPxDIR 输入限定控制寄存器GPxQUAL 数据寄存器GPxDAT 置位寄存器GPxSET 清除寄存器GPxCLEAR 取反寄存器GPxTOGGLE 控制寄存器 数据寄存器 名称 地址 大小(*16) 寄存器说明 GPAMUX 0x0000 70C0 1 GPIOA功能选择控制寄存器 GPADIR 0x0000 70C1 1 GPIOA方向控制寄存器 GPAQUAL 0x0000 70C2 1 GPIOA输入限定控制寄存器 GPBMUX 0x0000 70C4 1 GPIOB功能选择控制寄存器 GPBDIR 0x0000 70C5 1 GPIOB方向控制寄存器 GPBQUAL 0x0000 70C6 1 GPIOB输入限定控制寄存器 GPDMUX 0x0000 70CC 1 GPIOD功能选择控制寄存器 GPDDIR 0x0000 70CD 1 GPIOD方向控制寄存器 GPDQUAL 0x0000 70CE 1 GPIOD输入限定控制寄存器 GPEMUX 0x0000 70D0 1 GPIOE功能选择控制寄存器 GPEDIR 0x0000 70D1 1 GPIOE方向控制寄存器 GPEQUAL 0x0000 70D2 1 GPIOE输入限定控制寄存器 GPFMUX 0x0000 70D4 1 GPIOF功能选择控制寄存器 GPFDIR 0x0000 70D5 1 GPIOF方向控制寄存器 GPGMUX 0x0000 70D8 1 GPIOG功能选择控制寄存器 GPGDIR 0x0000 70D9 1 GPIOG方向控制寄存器 将PWM1引脚设为PWM或者IO 以176引脚LQFP封装的F2812而言,第92脚是PWM输出引脚PWM1,该引脚 也属于GPIOA,GPIOA所有寄存器的D0位都代表这个引脚的信息。 EALLOW; GpioMuxRegs.GPAMUX.bit.PWM1_GPIOA0=1; //将PWM1引脚设置为PWM波形的输出引脚 GpioMuxRegs.GPAMUX.bit.PWM1_GPIOA0=0; //将PWM1引脚设置为通用数字I/O口 EDIS; 当PWM1为IO口时,设定输入或者输出 EALLOW; GpioMuxRegs.GPADIR.bit.GPIOA0=0; //将PWM1引脚设置为输入引脚 GpioMuxRegs.GPADIR.bit.GPIOA0=1; //将PWM1引脚设置为输出引脚 EDIS; 输入限定控制寄存器GPxQUAL 保留 D15 D0 QUALPRD D7 D8 R/W-0 R-0 QUALPRD 位7~位0. 指定合格采样周期 0x00,不合格(只是和SYSCLKOUT同步) 0x01, QUALPRD= SYSCLKOUT/2 0x02, QUALPRD= SYSCLKOUT/4 … 0xFF, QUALPRD= SYSCLKOUT/510 采样周期QUALPRD由GPxQUAL寄存器的后八位值决定; 采样窗口为6个信号宽度,输入信号只有在6个被采样的信号相同时才会发生变化 名称 地址 大小(×16) 寄存器说明 GPADAT 0x000070E0 1 GPIOA数据寄存器 GPASET 0x000070E1 1 GPIOA置位寄存器 GPACLEAR 0x000070E2 1 GPIOA清除寄存器 GPATOGGLE 0x000070E3 1 GPIOA取反寄存器 GPBDAT 0x000070E4 1 GPIOB数据寄存器 GPBSET 0x000070E5 1 GPIOB置位寄存器 GPBCLEAR 0x000070E6 1 GPIOB清除寄存器 GPBTOGGLE 0x000070E7 1 GPIOB取反寄存器 GPDDAT 0x000070EC
文档评论(0)