Blackfin DSP(八):BF533的DMA
#include <cdefBF533.h>
#include <sys\exception.h> #define POLC 0x00004000
#define PORT_CFG_2_3_EXT_FS 0x00000020
#define XFR_TYPE_NON_ITU656 0x0000000C
#define SLEN_32 0x001f
#define FLOW_1 0x1000 unsigned char iTxBuffer[];
unsigned char iRxBuffer[]; EX_INTERRUPT_HANDLER(Sport0_RX_ISR);
EX_INTERRUPT_HANDLER(Sport0_TX_ISR); void Init_Sport1_TX(int TCLKDIV,int TFSDIV)
{ *pSPORT0_TCLKDIV = TCLKDIV;
*pSPORT0_TFSDIV = TFSDIV;
*pSPORT0_TCR1 = ITFS|TFSR|ITCLK;
*pSPORT0_TCR2 = ;
} void Init_Sport1_RX(int RCLKDIV,int RFSDIV)
{ *pSPORT0_RCLKDIV = RCLKDIV;
*pSPORT0_RFSDIV = RFSDIV;
*pSPORT0_RCR1 = IRFS|RFSR|IRCLK;
*pSPORT0_RCR2 = ;
} void Init_DMA(void)
{
*pDMA1_PERIPHERAL_MAP = 0x1000;
*pDMA1_CONFIG = WNR | WDSIZE_32 | DI_EN | FLOW_1;
*pDMA1_START_ADDR = (void *)iRxBuffer;
*pDMA1_X_COUNT = ;
*pDMA1_X_MODIFY = ; *pDMA2_PERIPHERAL_MAP = 0x2000;
*pDMA2_CONFIG = WDSIZE_32 | DI_EN |FLOW_1;
*pDMA2_START_ADDR = (void *)iTxBuffer;
*pDMA2_X_COUNT = ;
*pDMA2_X_MODIFY = ;
} void Enable_DMA_Sport0_TX(void)
{
*pDMA2_CONFIG = (*pDMA2_CONFIG | DMAEN);
*pSPORT0_TCR1 = (*pSPORT0_TCR1 | TSPEN);
} void Enable_DMA_Sport0_RX(void)
{
*pDMA1_CONFIG = (*pDMA1_CONFIG | DMAEN);
*pSPORT0_RCR1 = (*pSPORT0_RCR1 | RSPEN);;
} void Init_Interrupts(void)
{
*pSIC_IAR0 = 0xffffffff;
*pSIC_IAR1 = 0xfffff32f;
*pSIC_IAR2 = 0xffffffff; register_handler(ik_ivg9, Sport0_RX_ISR);
register_handler(ik_ivg10, Sport0_TX_ISR); *pSIC_IMASK = 0x00000600; } EX_INTERRUPT_HANDLER(Sport0_RX_ISR)
{
*pDMA1_IRQ_STATUS = 0x0001; printf("SPORT RX DMA Done!\n"); *pSIC_IMASK &= ~0x00000200; } EX_INTERRUPT_HANDLER(Sport0_TX_ISR)
{
*pDMA2_IRQ_STATUS = 0x0001; printf("SPORT TX DMA Done!\n"); *pSIC_IMASK &= ~0x00000400;
} main()
{
int i;
Set_PLL(,);
Init_EBIU();
Init_SDRAM(); for(i=;i<;i++)
iTxBuffer[i]=i; Init_Sport1_TX(,);
Init_Sport1_RX(,);
Init_Interrupts();
Init_DMA();
Enable_DMA_Sport0_TX();
Enable_DMA_Sport0_RX();
while();
}
Blackfin DSP(八):BF533的DMA的更多相关文章
- Blackfin DSP(八):1D DMA与音频处理模板
1.DMA产生的背景 在许多需要使用DSP 的场合,一般都需要大量的数据搬移工作,而如果每次数据搬移都由DSP 内核来参与完成,将大大占用DSP 内核的处理时间,从而严重影响其信号处理能力.因此,Bl ...
- Blackfin DSP(二):寄存器操作与GPIO
BlackfinDSP的寄存器是通过指针操作的,与51.ARM等MCU一样,通过“或”操作来置1,通过“与”操作清零. 在DSP上最简单的外设非IO口莫属,但是由于其功能强大,远非一般IO口可比,因此 ...
- Blackfin DSP(五):BF533的SPI接口
533SPI的特性 最高速度可达SCLK/4: 支持主模式和从模式: 可使用8个GPIO口作为从选择线: 1 slave select input pins 7 slave select output ...
- Blackfin DSP(三):BF533 的EBIU接口之flash
上一节谈了GPIO问题,是用BF561 ezkit进行说明的,这是因为561 ezkit上的GPIO是与LED直连的,讲解GPIO时不会涉及到其它问题,降低了复杂性.对于533,也采取同样的操作即可. ...
- Blackfin DSP(四):BF533 EBIU之SDRAM
BF533的SDRAM控制器最大支持128M bytes的SDRAM空间:总线宽度可以配置为4位.8位.16位.处理器与SDRAM的连线包括数据总线D[0:15].地址总线A[1:19].SDRAM刷 ...
- Blackfin DSP(六):BF533的SPORT接口
1.特性 bf533有两个SPORT口(synchronous serial Port),即同步串行接口.完全独立的接收和发送通道,且每个通道都具有缓冲,最高速度可达SCLK/2.最大支持32bit字 ...
- Blackfin DSP(七):用SPORT口模拟SPI
1.问题的提出 当系统从SPI device启动时,若SCLK = 133M,则SPI的最大速度为33M.然而,有一些串行的flash设备能更快的运行,因此,如果我们使用SPORT口,它的最大速度为S ...
- WS2812B彩灯详细讲解篇(STM32 PWM+DMA控制 STM32 HAL库编程 循环延时控制多种控制方式)
一.效果展示 观看演示效果:https://www.bilibili.com/video/BV1JT4y1P72Q 二. 基础认识 (一) 小理论 WS2812B是一种智能控制LED光源,将控制电路 ...
- Android原生(Native)C开发之四:SDL移植笔记
http://www.apkbus.com/forum.php?mod=viewthread&tid=1989 SDL(Simple DirectMedia Layer)是一套开放源码的跨平台 ...
随机推荐
- sqlserver中创建包含事务的存储过程
什么是事务 事务时包含1条或多条语句的逻辑单元.事务中的语句是一个整体,要么一起提交,要么一起撤销.事务在提交前可以回滚,一旦提交就不能撤销修改了,是永久性的修改. 为什么使用事务 ...
- 1427. SMS
http://acm.timus.ru/problem.aspx?space=1&num=1427 没想到这道题错了N遍 细节很重要呀 代码: #include<iostream> ...
- CodeForces 360E Levko and Game(Codeforces Round #210 (Div. 1))
题意:有一些无向边m条权值是给定的k条权值在[l,r]区间可以由你来定,一个点s1 出发一个从s2出发 问s1 出发的能不能先打到f 思路:最短路. 首先检测能不能赢 在更新的时候 如果对于一条边 ...
- webix源码阅读
最近在用webix,需要一个类似九宫格的监控界面.自带的控件里没有,于是萌生出做一个Custom Component的需求.不过webix关于自定义控件的文档比较少,官方只有一篇<Creatin ...
- MagicalRecord的使用(第三方库实现的数据库)
MagicalRecord:http://cocoadocs.org/docsets/MagicalRecord/2.1/ 安装: 1.新建一个工程,注意不要勾选 Core Data. 2.利用Coc ...
- 2-legged oauth & 3-legged oauth
3-legged oauth resource owner, client, server. resource owner 给client访问权限去访问resource owner在server上的r ...
- Valgrind的多线程调试工具
Valgrind的多线程调试工具 Helgrind是Valgrind的一个重点功能 本节主要针对与多线程基本安全问题进行检测:[所有的代码环境都是在POSIX_THREAD模式下] 写线程代码时 经 ...
- Android 开发之拦截EditText的输入内容,定制输入内容
1.EditText作为一个比较成熟的View,在Android的应用开发中得到极为广泛的使用.在某些特殊情况下,我们可能需要定制EditText的输入内容, 只允许指定功能的输入,例如输入一个”dd ...
- nginx+tomcat集群配置(3)---获取真实客户端IP
前言: 在初步构建的nginx+tomcat服务集群时, 发现webserver获取到的客户端ip都是同一个, 皆为作为反向代理服务的nginx所在的机器IP. 这不太符合我们的基本需求, 为将来的数 ...
- C++ Primer : 第十四章 : 重载运算与类型转换之重载运算符
重载前须知 重载运算符是特殊的函数,它们的名字由operator和其后要重载的运算符号共同组成. 因为重载运算符时函数, 因此它包含返回值.参数列表和函数体. 对于重载运算符是成员函数时, 它的第一个 ...