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. 第三方缓存软件memcached和redis异同

    memcached和redis相同点:都是以键值对的形式来存储数据,通俗讲就是一个大的hashtable缓存数据都是存在内容中 key-value 不同点:memcached:1.一个key所对应的值 ...

  2. POS开发问题 - 多个弹出框的实现

    业务场景如下图: 页面出现提示框:    点击确定,隐藏上面的弹出框, 继续弹出提示:  点击确定隐藏上面的弹出框,继续弹出下面提示: 点击确定隐藏上面的弹出框,继续弹出下面提示: 点击确定,跳转页面 ...

  3. 转:Oracle优化总结

    本文主要从大型数据库ORACLE环境四个不同级别的调整分析入手,分析ORACLE的系统结构和工作机理,从九个不同方面较全面地总结了 ORACLE数据库的优化调整方案. 关键词 ORACLE数据库 环境 ...

  4. 厌烦了写findViewById 试试ButterKnife吧

    先上官网 http://jakewharton.github.io/butterknife/  和 https://github.com/JakeWharton/butterknife 配置开发环境 ...

  5. seleenium与Vs结合

    Vs 自带自动化测试录制工具.selenium则是开源的大众工具.在使用发现vs 自带的工具录制方便,但是修改很难.但是可以提供后续的BUG管理和邮件通知,自动构建等功能.selenium在.net平 ...

  6. 视频SharePoint 2010 大局观 By 陈希章[zt]

    SharePoint 2010 大局观 By 陈希章 http://hi.baidu.com/jinzesudawei/item/9d0adace8cbcaf2c47d5c0fc

  7. 初看Mybatis 源码 (一)

    Mybatis 的使用,首先需要构建一个SqlSessionFactory 实例.而该实例可以通过SqlSessionFactoryBuilder来创建. String resource = &quo ...

  8. Multi-modal Sentence Summarization with Modality Attention and Image Filtering 论文笔记

     文章已同步更新在https://ldzhangyx.github.io/,欢迎访问评论.   五个月没写博客了,不熟悉我的人大概以为我挂了…… 总之呢这段时间还是成长了很多,在加拿大实习的两个多月来 ...

  9. 从windows CMD 命令行(CMD promp)运行Docker

    英文原帖 Running Docker from Windows CMD prompt https://medium.com/@neil.avery_68603/running-docker-from ...

  10. graphql 后台服务项目架构(一)

    基础知识 简而言之,GraphQL 是一种描述如何请求数据的语法,通常用于客户端向服务器请求数据.GraphQL 有三个主要特点: 允许客户端精确指定所需数据. 可以更容易地从多个数据源聚合数据. 使 ...