⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spislave.c

📁 LPC系列 SPI slave 范例参考
💻 C
字号:

#include "LPC213x.h"

unsigned char SlaveRcv = 0xAA;
unsigned char SlaveSnd;


void SPI0_Isr(void) __irq
{
    if (S0SPSR) ;                  // (dummy) read status register

    SlaveRcv = S0SPDR;             // read data received
    S0SPDR   = SlaveSnd;           // next data to transmit

    S0SPINT  = 0x01;               // reset interrupt flag
    VICVectAddr = 0;               // reset VIC
}

void SPI0_Init(void)
{
    PINSEL0 |= 0x00005500;         // configure SPI0 pins
    S0SPCR   = 0x88;               /* 1000 1000     Initialize SPI hardware:
                                      |||| ||||
                                      |||| | -----> reserved
                                      ||||  ------> SPI clock phase select
                                      ||| --------> SPI clock polarity = low when idle
                                      || ---------> SPI slave mode
                                      | ----------> SPI data order = msb first
                                       -----------> SPI interrupt enabled        */

    VICVectAddr0  = (unsigned int) &SPI0_Isr;
    VICVectCntl0  = 0x2A;          // Channel0 on Source#10 ... enabled
    VICIntEnable |= 0x400;         // 10th bit is SPI0 interface
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -