This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC2530:CC2530 DMA 环路模式

Guru**** 2580125 points
Other Parts Discussed in Thread: CC2510

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/672343/cc2530-cc2530-dma-loopmode

器件型号:CC2530
主题中讨论的其他器件:CC2510

大家好

写入一次后、DMAARM 将   在重复单次(TMODE=0x10)中设置0。  如果我的代码 错误、请告诉我如何使用  重复单模式。

谢谢你。

#include 
#define uchar unsigned char
#define uint unsigned int
typedef unsigned char 字节;
#pragma bitfields=反转
typedef 结构{
字节 SRCADDRH;
字节 SRCADDRL;
字节 DESTADDRH;
字节 DESTADDRL;
字节 VLEN :3;
字节 LENH :5;
字节 LENL :8;
字节 WORDSIZE :1;
字节 TMODE :2;
字节 trig :5;
字节 SRCINC :2;
字节 DETINC :2;
字节 IRQMASK :1;
字节 M8 空:1;
字节优先级:2;
}DMA_DESC;
#pragma 位字段=默认
值#define LED1 P1_0
#define LED2 P1_1
DMA_DESC dmaConfig[5];
#define DMATRIG_UTX0 15
unsigned char a[]="QSTkalsjgkjkjkfjkfjkajskl"(



void



i);void I (void I);t I (void I);t I (void I)+);t I (void I (f);t I t f (void I);t f (void I);t f (f);t f 1、t f (void I);t f (void I);t f (

for (j=0;j<200;j++)
{
asm ("NOP");
asm ("NOP");
asm ("NOP");
}
}

void LED_init ()
{
P1DIR|=0x03;
}
void initUART (void)
{
CLKCONCMD&&~0x40;

while (!(SLEEPSTA&0x40));

CLKCONCMD&&=~0x47;

SLEEPCMD|=0x04;

PERCFG=0x00;

P0SEL = 0x3c;

P2DIR&=~0xc0;

U0CSR|=0x80;

U0GCR|=10;

U0BAUD|=216;

}
void UartTX_Send_String (uchar *数据、int len)
{
int j;
for (j=0;j 8);
dmaConfig[3].SRCADDRL=(uchar)(((uint)&a)&0x00ff);

dmaConfig[3].DESTADDRH=(uchar)(((uint)&X_U0DBUF>8);
dmaConfig[3]。DESTADDRL=(uV00)

;uDAUCHAR (u0X=uF);dmaConfig (uV0u0uint=uF)

dmaConfig[3].LENh=(uchar)(((uint)(3">8);
dmaConfig[3].LENL=(uchar)(((uint)(3)));

dmaConfig[3].WORKSIZE = 0x00;

dmaConfig[3].TMODE=0x10;

dmaConfig[3].TRIG=0x00

dmaConfig[3].SRCINC=0x01;

dmaConfig[3].DESTINC=0x00;

dmaConfig[3].IRQMASK=0x00;

dmaConfig[3].M8=0x00;

dmaConfig[3].Priority=0x02;


DMA1CFGGh=(uchar)((((uint) dmaConfig)>>8);
DMA1CFGL=(uchar)((((uint) dmaConfig)&0x00ff);
asm ("nop");
}
void main ()
{
LED_init ();

DMA_Init();

initUART ();DIMA=0x80
;DMAARM =0xMA00
;DMA00
DMAARM=0x10;
while (1)
{
delay();
LED1=~LED1;
delay();
LED2=~LED2;
delay();

// DMAARM=0x10;

操作
{
DMAREQ=0x10;
while ((UTX0IF=0));
UTX0IF=0;
}
while (!(DMAIRQ&0x10));

DMAIRQ=0x00;

while (DMAARM!= 0x10);
}

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您能否尝试在此软件包中参考 CC2510的 DMA 示例:

    www.ti.com/lit/zip/swrc117


    \swrc117\cc1110_CC2510_Basic Software_examples\source\examples\dma\

    它应该是类似的。