Analog Devices SHARC ADSP-2136 Series Hardware Reference Manual page 270

Table of Contents

Advertisement

Programming Examples
dm(SPIBAUD) = ustat3;
/* Set up loop to transmit data */
lcntr = LENGTH(tx_buf), do (pc,4) until lce;
/* Retrieve data using DAG1 and send TX via SPI */
r0 = dm(i4,m4);
dm(TXSPI) = r0;
_main.end: jump (pc,0);
Listing 7-2. Core-Driven Interrupt SPI Transfer
#define BUFSIZE 0x100
/* Source data to be transmitted via SPI DMA */
.section/dm seg_dmda;
.var src_buf[BUFSIZE] = "source.dat";
/* Application code */
.global _main;
.segment/pm seg_pmco;
_main:
/* Init SPI MASTER TX DMA */
r0 = 0;
dm(SPICTL) = r0;
dm(SPIFLG) = r0;
dm(SPIDMAC) = r0;
r0 = DS0EN;
dm(SPIFLG) = r0;
ustat3 = src_buf; dm(IISPI) = ustat3;
ustat3 = LENGTH(src_buf); dm(CSPI) = ustat3;
ustat3 = 1; dm(IMSPI) = ustat3;
/* set the SPI baud rate to PCLK/4*64 (650.39KHz @ 167MHz)*/
ustat3 = 0x64;
dm(SPIBAUD) = ustat3;
7-46
www.BDTIC.com/ADI
/*use flag0 as spi device select */
ADSP-2136x SHARC Processor Hardware Reference
for the ADSP-21362/3/4/5/6 Processors
/* point to 'src_buf'*/
/* count = 256 */
/* step size = 1 */

Advertisement

Table of Contents
loading

Table of Contents