+GPIO的一些小问题
C6748一共有144个功能复用的GPIO.GPIO数量多的一个好处就是之前在其他CPU上编写的使用输入输出口编写的模拟外设,如I2C,SPI等,可以经过很少的改动就能在c6748上使用。
在c6748的内部寄存器中有20个负责GPIO的复用功能,而且c6748的每个GPIO口都支持中断。
对于GPIO的设置主要可以分为六部分:1.管脚的复用配置2.输入输出模式设置3.中断设置
GPIO的输入输出设置
GPIO的中断设置
[size=10.5000pt]4.EDMA3设置5.测试代码执行时间6.代码的调试
对于GPIO的管脚复用和输入输出设置主要是由相关寄存器可以进行置位复位和清零操作还可以通过OUT_DATA读取获取GPIO的状态。对于GPIO的输入输出和中断和其他嵌入式大同小异。今天想说一说c6748的EDMA3.
EDMA就是增强型直接内存存取,Enhanced Direct Memory Access,是数字信号处理器(DSP)中用于快速数据交换的重要技术,具有独立于CPU的后台批量数据传输的能力,能够满足实时图像处理中高速数据传输的要求。C6748采用的是第三代EDMA,功能强劲。
EDMA的配合的关键是对RAM的参数进行相关配置,配置步骤大概如下:
1.EDMA3初始化:包括通道设置;触发设置:手动触发,qdma,事件触发三种;配置RAM:
源地址设置,目标地址设置,传输设置(acnt,bcnt,ccnt最多可进行三维传输,足底啊存储256M),配置索引(包括源索引和目标索引),链接地址设置,opt配置tcc通道设置,最后将参数写到RAM中;最后使能EDMA.注意这些设置都是针对整个板块而言,不只是针对某个引脚。