2018年1月17日更新:

  这几天用了创龙的C6748的库,对于GPIO配置十分不爽,我移植了RK6748的库,用起来十分酸爽,把下面的文件加入到工程中,然后include头文件后就可以使用。非常好使。

  链接:https://pan.baidu.com/s/1c2RVBOW 密码:umra

  以下文章都是基于这个库的。

  请配置后使用!

以下是原文:

  这几天做项目,用到了TMS320C6748这个DSP,用的是ROCK的板子,要驱动RF24L01,用的是模拟SPI时序,对于GPIO口的配置弄了好久,终于弄清楚了。C6748好像不像是C5509A一样有统一的CSL库文件,只在他的Demo板中提供了编程的简单的库,我后来也没移植官方Demo的库,直接使用的ROCK板子提供的第三方库(可能是板子的厂家自己改装的Demo里面的库)。废话不多说了。进入正题。

  

1->GPIO口接线方式

  

2-> GPIO口配置

2.1->MUX寄存器配置

  GPIO口C6748一个引脚可能复用四五个功能,所以这个地方配置有点说道,跟一般的嵌入式设备不同。看初始化GPIO的例程:

void GPIO_INIT( void )
{
RK6748_pinmuxConfig(,0x80088808,0x80088808);
RK6748_pinmuxConfig(,0x00800000,0x00800000);
RK6748_pinmuxConfig(,0x00800000,0x00800000);
GPIO_setDir( GPIO_BANK6, GPIO_PIN13, GPIO_INPUT ); // IRQ
GPIO_setDir( GPIO_BANK6, GPIO_PIN15, GPIO_OUTPUT ); // MOSI
GPIO_setDir( GPIO_BANK6, GPIO_PIN1, GPIO_OUTPUT ); // CSN
GPIO_setDir( GPIO_BANK6, GPIO_PIN11, GPIO_INPUT ); // MISO
GPIO_setDir( GPIO_BANK6, GPIO_PIN12, GPIO_OUTPUT ); // SCK
GPIO_setDir( GPIO_BANK0, GPIO_PIN8, GPIO_OUTPUT ); // CE
printf("GPIO initi finish! \n");
}

  主要就是前三句RK6748_pinmuxConfig()这个函数是对功能寄存器的配置,研究了好久,资料也没说这块,看了好几个文档。最后自己研究出来了。

  配置GPIO口先调用RK6748_pinmuxConfig(Uint32 reg, Uint32 in_mask, Uint32 val);三个参数。这三个参数的值需要运行Pin Mux Ultility工具软件获得。如图4.5所示为Pin Mux Ultility软件界面。

图4.5 Pin Mux Utility软件界面

  如图4.5中两个红框,在红框内选择我们要使用GPIO口,在本设计中如图3.1b所示连线图,驱动RF24L01用到了IO6_13,IO6_15,IO0_2,IO6_11,IO6_12,IO6_11, IO6_12,IO0_8,这些引脚和RF24L01的IRQ,MOSI,CSN,MISO,SCK,CE信号线和数据线相连。则需要在Pin Mux Utility软件中使能这些IO口。图中4.5中在1处选择DSP信号,然后在2处选择上述提到的GPIO口,双击后使能,背景会如图中变绿,在3处查看寄存器值,这些寄存器值就是编程时需要用到的,分别是PINMUX0:0x800000000,PINMUX1:0x008000000,PINMUX13:0x0088808,在配置DSP的IO引脚的MUX寄存器时,输入以下参数:

RK6748_pinmuxConfig(0, 0x8000000000, 0x8000000000);

RK6748_pinmuxConfig(1, 0x00800000, 0x00800000);

RK6748_pinmuxConfig(13, 0x0088808, 0x0088808);

  完成GPIO口的使能配置。

  之后通过GPIO_setDir( GPIO_BANK6, GPIO_PIN13, GPIO_INPUT ); 语句配置GPIO口的方向,上述语句是配置IO6_13为输入方向,同理对其他引脚进行操作也是按照这个语句稍作修改。

附带这个软件的下载地址:http://download.csdn.net/detail/u014281970/9824202

C6748的GPIO口配置使用的更多相关文章

  1. STM32f10xxx 之 GPIO口配置

    背景 配置stm32f103使其完成PWM输出的过程中,在配置GPIO口的时候,按照习惯配置GPIO口的speed为50MHZ,突然就意识到,为什么大部分例程习惯配置为50MHZ,而不是其它值,即有了 ...

  2. Silicon C8051F340之GPIO口配置与使用

    一.背景: 很久前用过C8051,现在有相关需求需要重新使用C8051,然后发现一年前开发的相关经验都忘得 基本上差不多了.连最基本的GPIO口配置还得重新来看手册,所以有此文,做个记录,以备下次快速 ...

  3. stm32寄存器版学习笔记01 GPIO口的配置(LED、按键)

    STM32的I/O口可以由软件配置成如下8种模式:输入浮空.输入上拉.输入下拉.模拟输入.开漏输出.推挽输出.推挽式复用功能及开漏复用功能.每个I/O口由7个寄存器来控制:配置模式的端口配置寄存器CR ...

  4. 树莓派GPIO口驱动编写

    一.wiringpi写法 #include <wiringPi.h> #include <stdlib.h> int main(int argc,char *argv[]) { ...

  5. linux驱动初探之杂项设备(控制两个GPIO口)

    关键字:linux驱动.杂项设备.GPIO 此驱动程序控制了外接的两个二极管,二极管是低电平有效. 上一篇博客中已经介绍了linux驱动程序的编写流程,这篇博客算是前一篇的提高篇,也是下一篇博客(JN ...

  6. 基于boa服务器的web控制mini2440的GPIO口

    win7 系统  虚拟机:ubuntu12.04 开发板:mini2440 上一篇已经详细的讲解了如何配置boa服务器,在这里我们就要利用boa服务器带来的便利,利用web控制开发板上的GIPO口,这 ...

  7. ARM Cortex M3系列GPIO口介绍(工作方式探讨)

    一.Cortex M3的GPIO口特性    在介绍GPIO口功能前,有必要先说明一下M3的结构框图,这样能够更好理解总线结构和GPIO所处的位置. Cortex M3结构框图     从图中可以看出 ...

  8. STM32学习笔记(二):GPIO口工作原理

    STM32每个IO口具有7个寄存器来控制,每个IO口都可以自由进行编程控制,我们编程实际上控制的是通过控制那7个寄存器来控制我们的IO口,我们可以通过编程控制IO口,把IO口配置成如下八种模式: 1. ...

  9. 树莓派GPIO口的使用

    树莓派的优势在于Liunx操作系统加GPIO口,其中IO口时物联网组成中不可缺少的,高低电平的控制是很有必要的存在,再加有python的支持,玩转GPIO相对就容易多了 管脚编号 BCM: 编号侧重 ...

随机推荐

  1. IDEA 生成 JPA实体类

    文章目录1.创建工程2.连接数据源3.生成`JPA`实体类4.生成实体类结果1.创建工程使用Maven来构建工程,为了简化创建步骤 创建一个新工程不包含任何Maven模板,[按需添加] 命名 Grou ...

  2. JAVA SE collection接口

    collection接口:{Set,List,Queue} Set:无序集合,元素不可重复          List:有序集合,元素可重复          Queue:队列 Set{EnumSet ...

  3. 连接Mysql时出现java.math.BigInteger cannot be cast to java.lang.Long问题

    今天遇见这样一个坑.在连接数据库进行查询数据时,大家可能会遇见这样一个问题:java.math.BigInteger cannot be cast to java.lang.Long,然后去检查代码中 ...

  4. 反向代理总结-reverse-proxy-with-url-rewrite

    iis 反向代理 : 1. 微软文档 https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/reverse-proxy- ...

  5. jQuery的选项卡

    jQuery的选项卡 下面请看代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  6. Struts2_HelloWorld_5

    1.设置开发模式: 更换配置文件中的 action name="hello_struts",重新访问会出错,因为配置没有立刻响应文件的即时修改. 需要加上配置 <consta ...

  7. PAT1137

    题意 一个学生的成绩由上机,期中,期末共3部分构成,现要求找出有资格获得证书的同学们. 证书获得者要求:上机分至少200,最终成绩及格. 最终成绩的生成规则:若期中分>期末分,则f = 期中 * ...

  8. API:Sign签名的执行流程

    Sign签名存在目的:为了防止不法分子修改参数数据,进而攻击服务器,导致数据泄露或从中获得利益    例如:一个接口是用户把积分转帐给他的朋友,修改后,变为转帐到攻击者的帐户,这样,攻击者就能得到利益 ...

  9. 前端高质量知识(四)-JS详细图解作用域链与闭包

    攻克闭包难题 初学JavaScript的时候,我在学习闭包上,走了很多弯路.而这次重新回过头来对基础知识进行梳理,要讲清楚闭包,也是一个非常大的挑战. 闭包有多重要?如果你是初入前端的朋友,我没有办法 ...

  10. 【CCPC-Wannafly Winter Camp Day4 (Div1) A】夺宝奇兵(水题)

    点此看题面 大致题意: 有\(n\)种宝藏,每种各两个.让你依次获得\(1\sim n\)号宝藏,然后依次获得剩余的\(n\sim1\)号宝藏,求最少步数. 简单结论 其实这题有一个十分简单的结论,即 ...