LPC1768+SSP0+GPDMA some problem

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

LPC1768+SSP0+GPDMA some problem

235件の閲覧回数
Lee_Lee
Contributor I

Why is it that after opening DMACR in SSP0 and transmitting some data to BUF, DMACR is reset to zero, SSP0DR keeps changing, but BUF data remains unchanged.I also tried to reopen DMACR during the interrupt, but there was still no change in the BUF data.
Below is the code configuration:

 

#define SPI_RX_LEN 5386

extern U8 SPIRXBUF[SPI_RX_LEN];

void DMAInit_SPI_RX(U8 *destAddr, U32 len)
{
U32 part1 = (len > 4095) ? 4095 : len;
  U32 part2 = (len > 4095) ? (len - 4095) : 0;// 拆分传输(单通道最大4095字节)
 
  LPC_SC->PCONP |= (1 << 29); // 使能GPDMA时钟
  LPC_GPDMA->DMACConfig |= (1 << 0);//使能GPDMA
  LPC_GPDMA->DMACIntTCClear |= 0x01; // 清除通道0传输完成标志
  LPC_GPDMA->DMACIntErrClr |= 0x01;  // 清除通道0错误标志
 
// 链表项1:传输part1字节
  lli[0].srcAddr = (U32)&LPC_SSP0->DR; // 源:SPI0数据寄存器
  lli[0].destAddr = (U32)destAddr;     // 目的:缓冲区起始
  lli[0].control = (part1 & 0x0FFF)    // 传输大小(字节数)
                   | (0x00 << 12)        // 源突发大小
                   | (0x00 << 15)        // 目的发大小
                   | (0x00 << 18)        //源数据宽度
                   | (0x00 << 21)        //目的数据宽度
                   | (0x00 << 26)        //源地址不变(外设寄存器)
                   | (0x01 << 27)        //目的地址自增
                   | (1U << 31);       // 使能中断
 
    // 链表项2:传输part2字节(若需要)
  if (part2 > 0)
{
lli[0].nextLLI = (U32)&lli[1]; // 指向链表项2
      lli[1].srcAddr = (U32)&LPC_SSP0->DR;
      lli[1].destAddr = (U32)(destAddr + part1); // 缓冲区偏移
      lli[1].control = (part2 & 0x0FFF)    // 传输大小(字节数)
                   | (0x00 << 12)        // 源突发大小
                   | (0x00 << 15)        // 目的发大小
                   | (0x00 << 18)        //源数据宽度
                   | (0x00 << 21)        //目的数据宽度
                   | (0x00 << 26)        //源地址不变(外设寄存器)
                   | (0x01 << 27)        //目的地址自增
                   | (1U << 31);       // 使能中断
      lli[1].nextLLI = 0; // 结束链表
else
{
lli[0].nextLLI = 0;
}
 
    // 配置DMA通道0
LPC_GPDMACH0->DMACCConfig = 0;
  LPC_GPDMACH0->DMACCLLI = (U32)&lli[0]; // 链表起始地址
  LPC_GPDMACH0->DMACCSrcAddr = lli[0].srcAddr; // 源地址(SPI0 DR)
  LPC_GPDMACH0->DMACCDestAddr = lli[0].destAddr;     // 目的地址
  LPC_GPDMACH0->DMACCControl = lli[0].control;      // 控制字
  LPC_GPDMACH0->DMACCConfig = (0x01 << 15) //中断错误
| (0x01 << 14) //终端计数中断
| (0x02 << 11)        // 传输类型:外设到内存
| (0x00 << 6)         //目的外设:存储器
                            | (0x01 << 1)          // 源外设:SSP0 RX(参考手册)
                            | (0x01 << 0); // 通道使能
 
GPDMAEnabe();
}
 
 
void DMA_IRQHandler(void)
{
if(LPC_GPDMA->DMACIntTCStat & 0x01) // 通道0传输完成
{
LPC_GPDMA->DMACIntTCClear = 0x01; // 清除标志
//SSPSlave_Init();
//   RUN_LAMP_GLITTER;
// LPC_SSP0->DMACR |= (1 << 0);
// LPC_GPDMACH0->DMACCConfig |= (0x01 << 0);
LPC_GPDMA->DMACConfig |= (1 << 0);//使能GPDMA
time++;
}
  if(LPC_GPDMA->DMACIntErrStat & 0x01) // 通道0错误
{
LPC_GPDMA->DMACIntErrClr = 0x01; // 清除标志
}
}
void  SSPSlave_Init(void)
{
  LPC_SC->PCONP   |= (1 << 21);                                         /* 打开SSP电源                  */
/*****************************************************************
* 初始化SSP的通讯方式,设置数据长度为8bit,帧格式为SPI,SCK 为低有效,
* 数据在SCK 的第二个时钟沿采样,设置位速率。 
******************************************************************/
  LPC_SSP0->CR0  = (0x00 << |                                       /* SCR  设置SPI位速率           */
                   (0x01 << 7) |                                       /* CPHA 时钟输出相位            */
                   (0x00 << 6) |                                       /* CPOL 时钟输出极性            */
                   (0x00 << 4) |                                       /* FRF  帧格式 00=SPI,01=SSI,  */
                                                                       /* 10=Microwire,11=保留        */
                   (0x07 << 0);                                        /* DSS  数据长度,0000-0010=保留 */
                                                                        /* 0011=4位,0111=8位,1111=16位*/
LPC_SSP0->CPSR = 2; /* 时钟分频寄存器*/
 
LPC_SSP0->CR1  = (0x00 << 3) |                                      /* SOD  从机输出禁能,0=允许    */
                   (0x01 << 2) |                                      /* MS   主从选择,1=从机        */
                   (0x01 << 1) |                                      /* SSE  SSP使能,1=使能 */
                   (0x00 << 0);                                       /* LBM  回写模式                */
 
sysTimeDlay(5);
LPC_SSP0->DMACR |= (1 << 0);
 
}
ラベル(1)
0 件の賞賛
返信
1 返信

144件の閲覧回数
Harry_Zhang
NXP Employee
NXP Employee

Hi @Lee_Lee 

I think DMA is' reading empty SSP FIFO ', but due to an incorrect access width, data has not been written correctly into memory.

What are you currently configuring

(0x00<<18)//源数据宽度
(0x00<<21)//目的数据宽度
But in LPC:

The DR register of SSP is a 16 bit register

Harry_Zhang_0-1765963833177.png

 

Even if you are using 8-bit SPI mode, DMA access to SSP0->DR must still be 16 bit access.

DMA did not actually write data correctly into memory
The result is that BUF remains unchanged.

So i think you can try to change the source and des width to 16.

BR

Harry

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2261516%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ELPC1768%2BSSP0%2BGPDMA%E3%81%AB%E5%95%8F%E9%A1%8C%E3%81%82%E3%82%8A%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2261516%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3ESSP0%20%E3%81%A7%20DMACR%20%E3%82%92%E9%96%8B%E3%81%84%E3%81%A6%20BUF%20%E3%81%AB%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E9%80%81%E4%BF%A1%E3%81%97%E3%81%9F%E5%BE%8C%E3%80%81DMACR%20%E3%81%8C%E3%82%BC%E3%83%AD%E3%81%AB%E3%83%AA%E3%82%BB%E3%83%83%E3%83%88%E3%81%95%E3%82%8C%E3%80%81SSP0DR%20%E3%81%AF%E5%A4%89%E5%8C%96%E3%81%97%E7%B6%9A%E3%81%91%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81BUF%20%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AF%E5%A4%89%E6%9B%B4%E3%81%95%E3%82%8C%E3%81%AA%E3%81%84%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%E3%80%82%E5%89%B2%E3%82%8A%E8%BE%BC%E3%81%BF%E4%B8%AD%E3%81%AB%20DMACR%20%E3%82%92%E5%86%8D%E5%BA%A6%E9%96%8B%E3%81%93%E3%81%86%E3%81%A8%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8C%E3%80%81BUF%20%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AB%E3%81%AF%E3%81%BE%E3%81%A0%E5%A4%89%E5%8C%96%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%81%A7%E3%81%97%E3%81%9F%E3%80%82%3CBR%20%2F%3E%E3%82%B3%E3%83%BC%E3%83%89%E6%A7%8B%E6%88%90%E3%81%AF%E6%AC%A1%E3%81%AE%E3%81%A8%E3%81%8A%E3%82%8A%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%23%E5%AE%9A%E7%BE%A9%20SPI_RX_LEN%205386%3C%2FP%3E%3CP%3E%E5%A4%96%E9%83%A8U8%20SPIRXBUF%5BSPI_RX_LEN%5D%3B%3C%2FP%3E%3CDIV%3Evoid%20DMAInit_SPI_RX(U8%20*destAddr%2C%20U32%20len)%3C%2FDIV%3E%3CDIV%3E%7B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EU32%20%E3%83%91%E3%83%BC%E3%83%881%20%3D%20(%E9%95%B7%E3%81%95%20%26gt%3B%204095)%20%3F4095%20%3A%20%E9%95%B7%E3%81%95%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3EU32%20%E3%83%91%E3%83%BC%E3%83%882%20%3D%20(%E9%95%B7%E3%81%95%20%26gt%3B%204095)%20%3F(len%20-%204095)%20%3A%200%3B%2F%2F%20%E6%8B%86%E5%88%86%E4%BC%A0%E8%BE%93%EF%BC%88%E5%8D%95%E9%81%93%E6%9C%80%E5%A4%A74095%E5%AD%97%E8%8A%82%EF%BC%89%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3ELPC_SC-%26gt%3BPCONP%20%7C%3D%20(1%20%26lt%3B%26lt%3B%2029)%3B%20%2F%2F%20%E4%BD%BF%E7%94%A8GPDMA%E6%99%82%E9%96%93%E9%92%9F%3C%2FDIV%3E%3CDIV%3ELPC_GPDMA-%26gt%3BDMACConfig%20%7C%3D%20(1%20%26lt%3B%26lt%3B%200)%3B%2F%2FGPDMA%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%3C%2FDIV%3E%3CDIV%3ELPC_GPDMA-%26gt%3BDMACIntTCClear%20%7C%3D%200x01%3B%20%2F%2F%20%E6%B8%85%E9%99%A4%E9%81%930%E4%BC%A0%E8%BE%93%E5%AE%8C%E4%BA%86%E6%A0%87%E5%BF%97%3C%2FDIV%3E%3CDIV%3ELPC_GPDMA-%26gt%3BDMACIntErrClr%20%7C%3D%200x01%3B%20%2F%2F%20%E6%B8%85%E9%99%A4%E9%81%930%E9%94%99%E8%AF%AF%E6%A0%87%E5%BF%97%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%2F%2F%20%E9%93%BE%E8%A1%A8%E9%A1%B91%EF%BC%9A%E4%BC%A0%E8%BE%93part1%E5%AD%97%E8%8A%82%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3Elli%5B0%5D.srcAddr%3D%20(U32)%26amp%3BLPC_SSP0-%26gt%3BDR%3B%20%2F%2F%20%E3%82%BD%E3%83%BC%E3%82%B9%EF%BC%9ASPI0%E3%83%87%E3%83%BC%E3%82%BF%E5%AF%84%E5%AD%98%E5%99%A8%3C%2FDIV%3E%3CDIV%3Elli%5B0%5D.%E5%AE%9B%E5%85%88%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%3D%20(U32)destAddr%3B%20%20%20%2F%2F%20%E7%9B%AE%E7%9A%84%EF%BC%9A%E7%BC%93%E5%86%B2%E5%8C%BA%E9%96%8B%E5%A7%8B%3C%2FDIV%3E%3CDIV%3Elli%5B0%5D.%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%3D%20(part1%20%26amp%3B%200x0FFF)%20%2F%2F%20%E4%BC%A0%E8%BE%93%E5%A4%A7%E5%B0%8F%EF%BC%88%E5%AD%97%E8%8A%82%E6%95%B0%EF%BC%89%3C%2FDIV%3E%3CDIV%3E%7C%20(0x00%20%26lt%3B%26lt%3B%2012)%20%2F%2F%20%E6%BA%90%E7%AA%81%E7%99%BA%E5%A4%A7%E5%B0%8F%3C%2FDIV%3E%3CDIV%3E%7C%20(0x00%20%26lt%3B%26lt%3B%2015)%20%2F%2F%20%E7%9B%AE%E7%9A%84%E7%99%BA%E8%A1%8C%E5%A4%A7%E5%B0%8F%3C%2FDIV%3E%3CDIV%3E%7C%20(0x00%20%26lt%3B%26lt%3B%2018)%20%2F%2F%E3%82%BD%E3%83%BC%E3%82%B9%E3%83%87%E3%83%BC%E3%82%BF%E5%AE%BD%E5%BA%A6%3C%2FDIV%3E%3CDIV%3E%7C%20(0x00%20%26lt%3B%26lt%3B%2021)%20%2F%2F%E7%9B%AE%E7%9A%84%E3%83%87%E3%83%BC%E3%82%BF%E5%AE%BD%E5%BA%A6%3C%2FDIV%3E%3CDIV%3E%7C%20(0x00%20%26lt%3B%26lt%3B%2026)%20%2F%2F%E6%BA%90%E5%9C%B0%E5%9D%80%E4%B8%8D%E5%8F%98%EF%BC%88%E5%A4%96%E8%AE%BE%E5%AF%84%E5%AD%98%E5%99%A8%EF%BC%89%3C%2FDIV%3E%3CDIV%3E%7C%20(0x01%20%26lt%3B%26lt%3B%2027)%20%2F%2F%E7%9B%AE%E7%9A%84%E5%9C%B0%E5%9D%80%E8%87%AA%E5%A2%9E%3C%2FDIV%3E%3CDIV%3E%7C%20(1U%20%26lt%3B%26lt%3B%2031)%3B%20%20%20%20%2F%2F%20%E4%BD%BF%E7%94%A8%E4%B8%AD%E6%96%AD%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%2F%2F%20%E9%93%BE%E8%A1%A8%E9%A1%B92%EF%BC%9A%E4%BC%A0%E8%BE%93part2%E5%AD%97%E8%8A%82%EF%BC%88%E8%8B%A5%E5%BF%85%E8%A6%81%EF%BC%89%3C%2FDIV%3E%3CDIV%3E(%E3%83%91%E3%83%BC%E3%83%882%20%26gt%3B%200)%E3%81%AE%E5%A0%B4%E5%90%88%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Elli%5B0%5D.nextLLI%20%3D%20(U32)%26amp%3Blli%5B1%5D%3B%20%2F%2F%20%E6%8C%87%E5%90%91%E9%93%BE%E8%A1%A8%E9%A1%B92%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3Elli%5B1%5D.srcAddr%3D%20(U32)%26amp%3BLPC_SSP0-%26gt%3BDR%3B%3C%2FDIV%3E%3CDIV%3Elli%5B1%5D.destAddr%3D%20(U32)(destAddr%20%2Bpart1)%3B%20%2F%2F%20%E7%BC%93%E5%86%B2%E5%8C%BA%E5%81%8F%E7%A7%BB%3C%2FDIV%3E%3CDIV%3Elli%5B1%5D.%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%3D%20(part2%20%26amp%3B%200x0FFF)%20%2F%2F%20%E4%BC%A0%E8%BE%93%E5%A4%A7%E5%B0%8F%EF%BC%88%E5%AD%97%E8%8A%82%E6%95%B0%EF%BC%89%3C%2FDIV%3E%3CDIV%3E%7C%20(0x00%20%26lt%3B%26lt%3B%2012)%20%2F%2F%20%E6%BA%90%E7%AA%81%E7%99%BA%E5%A4%A7%E5%B0%8F%3C%2FDIV%3E%3CDIV%3E%7C%20(0x00%20%26lt%3B%26lt%3B%2015)%20%2F%2F%20%E7%9B%AE%E7%9A%84%E7%99%BA%E8%A1%8C%E5%A4%A7%E5%B0%8F%3C%2FDIV%3E%3CDIV%3E%7C%20(0x00%20%26lt%3B%26lt%3B%2018)%20%2F%2F%E3%82%BD%E3%83%BC%E3%82%B9%E3%83%87%E3%83%BC%E3%82%BF%E5%AE%BD%E5%BA%A6%3C%2FDIV%3E%3CDIV%3E%7C%20(0x00%20%26lt%3B%26lt%3B%2021)%20%2F%2F%E7%9B%AE%E7%9A%84%E3%83%87%E3%83%BC%E3%82%BF%E5%AE%BD%E5%BA%A6%3C%2FDIV%3E%3CDIV%3E%7C%20(0x00%20%26lt%3B%26lt%3B%2026)%20%2F%2F%E6%BA%90%E5%9C%B0%E5%9D%80%E4%B8%8D%E5%8F%98%EF%BC%88%E5%A4%96%E8%AE%BE%E5%AF%84%E5%AD%98%E5%99%A8%EF%BC%89%3C%2FDIV%3E%3CDIV%3E%7C%20(0x01%20%26lt%3B%26lt%3B%2027)%20%2F%2F%E7%9B%AE%E7%9A%84%E5%9C%B0%E5%9D%80%E8%87%AA%E5%A2%9E%3C%2FDIV%3E%3CDIV%3E%7C%20(1U%20%26lt%3B%26lt%3B%2031)%3B%20%20%20%20%2F%2F%20%E4%BD%BF%E7%94%A8%E4%B8%AD%E6%96%AD%3C%2FDIV%3E%3CDIV%3Elli%5B1%5D.nextLLI%3D%200%3B%20%2F%2F%20%E7%BB%93%E6%9D%9F%E9%93%BE%E8%A1%A8%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%E3%81%9D%E3%81%86%E3%81%A7%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%80%81%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Elli%5B0%5D.nextLLI%20%3D%200%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%2F%2F%20%E9%85%8D%E7%BD%AEDMA%E9%80%9A%E9%81%930%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3ELPC_GPDMACH0-%26gt%3BDMACCConfig%20%3D%200%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3ELPC_GPDMACH0-%26gt%3BDMACCLLI%20%3D%20(U32)%26amp%3Blli%5B0%5D%3B%20%2F%2F%20%E9%93%BE%E8%A1%A8%E9%96%8B%E5%A7%8B%E5%9C%B0%E5%9D%80%3C%2FDIV%3E%3CDIV%3ELPC_GPDMACH0-%26gt%3BDMACCSrcAddr%20%3D%20lli%5B0%5D.srcAddr%3B%2F%2F%20%E3%82%BD%E3%83%BC%E3%82%B9%E5%9C%B0%E5%9D%80%EF%BC%88SPI0%20DR%EF%BC%89%3C%2FDIV%3E%3CDIV%3ELPC_GPDMACH0-%26gt%3BDMACCDestAddr%20%3D%20lli%5B0%5D.destAddr%3B%2F%2F%20%E7%9B%AE%E7%9A%84%E5%9C%B0%E5%9D%80%3C%2FDIV%3E%3CDIV%3ELPC_GPDMACH0-%26gt%3BDMACC%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%AB%20%3D%20lli%5B0%5D.control%3B%2F%2F%20%E5%88%B6%E5%BE%A1%E6%96%87%E5%AD%97%3C%2FDIV%3E%3CDIV%3ELPC_GPDMACH0-%26gt%3BDMACCConfig%20%3D%20(0x01%20%26lt%3B%26lt%3B%2015)%20%2F%2F%E4%B8%AD%E6%96%AD%E9%94%99%E8%AF%AF%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7C%20(0x01%20%26lt%3B%26lt%3B%2014)%20%2F%2F%E7%B5%82%E7%AB%AF%E8%AE%A1%E6%95%B0%E4%B8%AD%E6%96%AD%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7C%20(0x02%20%26lt%3B%26lt%3B%2011)%20%2F%2F%20%E4%BC%A0%E8%BE%93%E7%A8%AE%E9%A1%9E%EF%BC%9A%E5%A4%96%E8%AE%BE%E5%88%B0%E5%86%85%E5%AD%98%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7C%20(0x00%20%26lt%3B%26lt%3B%206)%20%2F%2F%E7%9B%AE%E7%9A%84%E5%A4%96%E8%AE%BE%EF%BC%9A%E4%BF%9D%E5%AD%98%E5%99%A8%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%7C%20(0x01%20%26lt%3B%26lt%3B%201)%20%2F%2F%20%E3%82%BD%E3%83%BC%E3%82%B9%E5%A4%96%E8%AE%BE%EF%BC%9ASSP0%20RX%EF%BC%88%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C%EF%BC%89%3C%2FDIV%3E%3CDIV%3E%7C%20(0x01%20%26lt%3B%26lt%3B%200)%3B%20%2F%2F%20%E9%81%93%E4%BD%BF%E3%81%84%E8%83%BD%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EGPDMAEnabe()%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%7D%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3Evoid%20DMA_IRQHandler(void)%3C%2FDIV%3E%3CDIV%3E%7B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3Eif(LPC_GPDMA-%26gt%3BDMACIntTCStat%20%26amp%3B%200x01)%20%2F%2F%20%E9%80%9A%E9%81%930%E8%BB%A2%E9%80%81%E5%AE%8C%E4%BA%86%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3ELPC_GPDMA-%26gt%3BDMACIntTCClear%20%3D%200x01%3B%20%2F%2F%20%E6%B8%85%E9%99%A4%E6%A0%87%E5%BF%97%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%2F%2FSSPSlave_Init()%3B%3C%2FDIV%3E%3CDIV%3E%2F%2F%20RUN_LAMP_GLITTER%3B%3C%2FDIV%3E%3CDIV%3E%2F%2F%20LPC_SSP0-%26gt%3BDMACR%20%7C%3D%20(1%20%26lt%3B%26lt%3B%200)%3B%3C%2FDIV%3E%3CDIV%3E%2F%2F%20LPC_GPDMACH0-%26gt%3BDMACCConfig%20%7C%3D%20(0x01%20%26lt%3B%26lt%3B%200)%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3ELPC_GPDMA-%26gt%3BDMACConfig%20%7C%3D%20(1%20%26lt%3B%26lt%3B%200)%3B%2F%2FGPDMA%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%E6%99%82%E9%96%93%2B%2B%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3Eif(LPC_GPDMA-%26gt%3BDMACIntErrStat%20%26amp%3B%200x01)%20%2F%2F%20%E9%80%9A%E9%81%930%E9%94%99%E8%AF%AF%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3ELPC_GPDMA-%26gt%3BDMACIntErrClr%20%3D%200x01%3B%20%2F%2F%20%E6%B8%85%E9%99%A4%E6%A0%87%E5%BF%97%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%7D%3CBR%20%2F%3E%3CDIV%3Evoid%20SSPSlave_Init(void)%3C%2FDIV%3E%3CDIV%3E%7B%3C%2FDIV%3E%3CDIV%3ELPC_SC-%26gt%3BPCONP%20%7C%3D%20(1%20%26lt%3B%26lt%3B%2021)%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20%E6%89%93%E5%BC%80SSP%E9%9B%BB%E6%BA%90%20*%2F%3C%2FDIV%3E%3CDIV%3E%2F************************************************************************%3C%2FDIV%3E%3CDIV%3E*%20%E5%88%9D%E6%9C%9F%E5%8C%96SSP%E3%81%AE%E9%80%9A%E4%BF%A1%E6%96%B9%E5%BC%8F%E3%80%81%E3%83%87%E3%83%BC%E3%82%BF%E9%95%B7%E3%81%AF8bit%E3%80%81%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E5%BD%A2%E5%BC%8F%E3%81%AFSPI%E3%80%81SCK%E3%81%AF%E4%BD%8E%E8%83%BD%E7%8E%87%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FDIV%3E%3CDIV%3E*%20%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AF%20SCK%20%E3%81%AE%202%20%E7%95%AA%E7%9B%AE%E3%81%AE%E6%99%82%E9%96%93%E3%81%AB%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%95%E3%82%8C%E3%80%81%E3%83%93%E3%83%83%E3%83%88%E3%83%AC%E3%83%BC%E3%83%88%E3%81%8C%E8%A8%AD%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FDIV%3E%3CDIV%3E**********************************************************************%2F%3C%2FDIV%3E%3CDIV%3ELPC_SSP0-%26gt%3BCR0%20%3D%20(0x00%20%26lt%3B%26lt%3B%20%3CLI-EMOJI%20id%3D%22lia_smiling-face-with-sunglasses%22%20title%3D%22%3Asmiling_face_with_sunglasses%3A%22%3E%3C%2FLI-EMOJI%3E%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20SCR%20%E8%A8%AD%E5%AE%9A%20SPI%20%E3%83%93%E3%83%83%E3%83%88%E9%80%9F%E5%BA%A6%20*%2F%3C%2FDIV%3E%3CDIV%3E(0x01%20%26lt%3B%26lt%3B%207)%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20CPHA%20%E6%99%82%E9%96%93%E9%92%9F%E8%BE%93%E5%87%BA%E7%9B%B8%E4%BD%8D%20*%2F%3C%2FDIV%3E%3CDIV%3E(0x00%20%26lt%3B%26lt%3B%206)%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20CPOL%20%E6%99%82%E9%96%93%E9%92%9F%E5%87%BA%E5%8A%9B%E6%80%A7%20*%2F%3C%2FDIV%3E%3CDIV%3E(0x00%20%26lt%3B%26lt%3B%204)%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20FRF%20%E5%B8%A7%E6%A0%BC%E5%BC%8F%2000%3DSPI%EF%BC%8C01%3DSSI%2C%20*%2F%3C%2FDIV%3E%3CDIV%3E%2F*%2010%3D%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%83%AF%E3%82%A4%E3%83%A4%E3%83%BC%EF%BC%8C11%3D%E4%BF%9D%E7%95%99%20*%2F%3C%2FDIV%3E%3CDIV%3E(0x07%20%26lt%3B%26lt%3B%200)%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20DSS%20%E3%83%87%E3%83%BC%E3%82%BF%E9%95%B7%E5%BA%A6%2C0000-0010%3D%20%E4%BF%9D%E6%8C%81%20*%2F%3C%2FDIV%3E%3CDIV%3E%2F*%200011%3D4%20%E4%BD%8D%E3%80%810111%3D8%20%E4%BD%8D%E3%80%811111%3D16%20%E4%BD%8D*%2F%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3ELPC_SSP0-%26gt%3BCPSR%20%3D%202%3B%20%2F*%20%E6%99%82%E9%96%93%E9%92%9F%E5%88%86%E5%91%A8%E6%B3%A2%E6%95%B0%E5%AF%84%E5%AD%98%E5%99%A8*%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3ELPC_SSP0-%26gt%3BCR1%20%3D%20(0x00%20%26lt%3B%26lt%3B%203)%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20SOD%20%E4%BB%8E%E6%9C%BA%E8%BE%93%E5%87%BA%E7%A6%81%E8%83%BD%EF%BC%8C0%3D%E5%85%81%E8%AE%B8%20*%2F%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E(0x01%20%26lt%3B%26lt%3B%202)%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20MS%20%E4%B8%BB%E4%BB%8E%E9%80%89%E6%8B%A9%EF%BC%8C1%3D%E4%BB%8E%E6%9C%BA%20*%2F%3C%2FDIV%3E%3CDIV%3E(0x01%20%26lt%3B%26lt%3B%201)%20%7C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20SSE%20SSP%20%E4%BD%BF%E7%94%A8%E8%83%BD%EF%BC%8C1%3D%E4%BD%BF%E7%94%A8%E8%83%BD%20*%2F%3C%2FDIV%3E%3CDIV%3E(0x00%20%26lt%3B%26lt%3B%200)%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F*%20LBM%20%E5%9B%9E%E5%86%99%E3%83%A2%E3%83%BC%E3%83%89%20*%2F%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3EsysTimeDlay(5)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3ELPC_SSP0-%26gt%3BDMACR%20%7C%3D%20(1%20%26lt%3B%26lt%3B%200)%3B%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%7D%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2261516%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3ELPC17xx%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2264665%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20LPC1768%2BSSP0%2BGPDMA%20some%20problem%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2264665%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F257968%22%20target%3D%22_blank%22%3E%40Lee_Lee%3C%2FA%3E%3C%2FP%3E%0A%3CP%3EDMA%20%E3%81%AF%E3%80%8C%E7%A9%BA%E3%81%AE%20SSP%20FIFO%20%E3%82%92%E8%AA%AD%E3%81%BF%E5%8F%96%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%E3%80%8D%E3%81%A8%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E5%B9%85%E3%81%8C%E6%AD%A3%E3%81%97%E3%81%8F%E3%81%AA%E3%81%84%E3%81%9F%E3%82%81%E3%80%81%E3%83%87%E3%83%BC%E3%82%BF%E3%81%8C%E3%83%A1%E3%83%A2%E3%83%AA%E3%81%AB%E6%AD%A3%E3%81%97%E3%81%8F%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BE%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%0A%3CP%3E%E7%8F%BE%E5%9C%A8%E4%BD%95%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8B%3C%2FP%3E%0A%3CP%3E(0x00%26lt%3B%26lt%3B18)%2F%2F%3CSPAN%3E%E3%82%BD%E3%83%BC%E3%82%B9%E3%83%87%E3%83%BC%E3%82%BF%E5%AE%BD%E5%BA%A6%3C%2FSPAN%3E%3CBR%20%2F%3E(0x00%26lt%3B%26lt%3B21)%2F%2F%3CSPAN%3E%E7%9B%AE%E7%9A%84%E3%83%87%E3%83%BC%E3%82%BF%E5%AE%BD%E5%BA%A6%3C%2FSPAN%3E%3CBR%20%2F%3E%E3%81%97%E3%81%8B%E3%81%97%E3%80%81LPC%20%E3%81%A7%E3%81%AF%E6%AC%A1%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3ESSP%E3%81%AEDR%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%81%AF16%E3%83%93%E3%83%83%E3%83%88%E3%81%AE%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%81%A7%E3%81%82%E3%82%8B%E3%80%82%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Harry_Zhang_0-1765963833177.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Harry_Zhang_0-1765963833177.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F370400i16B1A49DD3D19B21%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22Harry_Zhang_0-1765963833177.png%22%20alt%3D%22Harry_Zhang_0-1765963833177.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E8%20%E3%83%93%E3%83%83%E3%83%88%20SPI%20%E3%83%A2%E3%83%BC%E3%83%89%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%A7%E3%82%82%E3%80%81SSP0-%26gt%3BDR%20%E3%81%B8%E3%81%AE%20DMA%20%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%AF%2016%20%E3%83%93%E3%83%83%E3%83%88%20%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%A7%E3%81%82%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3EDMA%E3%81%AF%E5%AE%9F%E9%9A%9B%E3%81%AB%E3%81%AF%E3%83%A1%E3%83%A2%E3%83%AA%E3%81%AB%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E6%AD%A3%E3%81%97%E3%81%8F%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%82%93%E3%81%A7%E3%81%84%E3%81%AA%E3%81%84%3CBR%20%2F%3E%E3%81%9D%E3%81%AE%E7%B5%90%E6%9E%9C%E3%80%81BUF%20%E3%81%AF%E5%A4%89%E6%9B%B4%E3%81%95%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%0A%3CP%3ESO%E3%80%81%E3%82%BD%E3%83%BC%E3%82%B9%E3%81%A8%20des%20%E3%81%AE%E5%B9%85%E3%82%92%2016%20%E3%81%AB%E5%A4%89%E6%9B%B4%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B%E3%81%A8%20CAN%20%E3%81%A8%E6%80%9D%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3EBR%3C%2FP%3E%0A%3CP%3E%E3%83%8F%E3%83%AA%E3%83%BC%3C%2FP%3E%3C%2FLINGO-BODY%3E