MUG51 通过DMA实现SPI的数据接收
/*---------------------------------------------------------------------------------------------------------*//* */
/* SPDX-License-Identifier: Apache-2.0 */
/* Copyright(c) 2022 Nuvoton Technology Corp. All rights reserved. */
/* */
/*---------------------------------------------------------------------------------------------------------*/
#include "MUG51.h"
/**
* @brief I2C0 master demo.
* @param None
* @return None
* @Details please confirm enable LXT and check work stable if use LXT as WKT clock source.
*/
unsigned char xdata RxDatabuffer;
unsigned char loopcount=100;
void PDMA0_ISR(void) interrupt 20 // Vector @0xA3
{
clr_DMA0TSR_FDONE;
}
void main (void)
{
MFP_P13_GPIO;
P13_PUSHPULL_MODE;
MFP_P00_SPI0_MOSI;
P00_QUASI_MODE;
MFP_P01_SPI0_MISO;
P01_QUASI_MODE;
MFP_P02_SPI0_CLK;
P02_QUASI_MODE;
SPI_Open(SPI0,SPI_SLAVE,10,SPI_MODE_3,MSB_FIRST);
PDMA_Open(PDMA0,SPI0RX,0x00,100);
PDMA_Interrupt_Enable(PDMA0,PDMAFULLINT);
ENABLE_GLOBAL_INTERRUPT;
PDMA_Run(PDMA0);
while(1);
}
发现51内核的单片机都比较好用,没那么多要配置的。 有点看不太明白,怎么让DMA接收到那个地址 huahuagg 发表于 2022-12-22 20:55
发现51内核的单片机都比较好用,没那么多要配置的。
毕竟51的功能只是满足基本的还是32位的无论速度还是通信方式都比较多种多样,适用场合比较多 SPI通常比I2C好用一些。 51内核单片机的指令系统内部结构简单,基本是入门级的
页:
[1]