ARM(LPC213x)与兼容SPI接口的芯片(MAX1247)的通信代码

原创 2007年09月18日 08:42:00

 下面给出的是LPC2138与MAX1247通过SPI串口进行数据传输的代码:

uint16 SPI_Data(uint8 data)       //该函数的参数是LPC2138向MAX1247写如的控制字

{   uint8 a,b,c;
    uint16 d;
   
    IO0CLR = MAX1247_CS;           // 片选MAX1247
   
    S0SPDR = data;                      //启动SPI传输
    while( 0 == (S0SPSR & 0x80));  // 等待SPIF置位,即等待数据发送完毕
        {
           a=S0SPDR;
        } 
  
 
    S0SPDR = 0x00;
    while( 0 == (S0SPSR & 0x80));  // 等待SPIF置位,即等待数据发送完毕
         {
            b=S0SPDR;
         }
   
    S0SPDR = 0x00;
    while( 0 == (S0SPSR & 0x80));  // 等待SPIF置位,即等待数据发送完毕
         {
            c=S0SPDR;
         }

    IO0SET = MAX1247_CS;
 
 
    d=(b<<9)|(c<<1) ;
   
 
    return d;
}

 

该代码是在LPC2138和MAX1247的数据采样电路中测试通过了的.

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

LPC1768的USB驱动(三)----LPC1768的USB模块

(图一)USB设备控制器框图 模块简介: AHB:主要用于高性能模块(CPU、DMA和DSP等)间的连接; USB ATX:USB 设备控制器内置的模拟收发器,用来收发USB总线上的D+和D...

LPC1768的USB驱动(二)----USB枚举过程

什么是枚举? USB主机在检测到USB设备插入后,就要对设备进行枚举。枚举就是从设备读取一些信息,知道设备是什么样的设备,如何进行通信,这样主机就可以根据这些信息来加载合适的驱动程序。 Hub...

LPC1700系列芯片内存注意问题

在AMR芯片中内存空间是越来越大了,而我们的使用需求也是水涨船高。而不同ARM芯片的内存分配也是截然不同。例如同样是64K的STM32,只要你的数组定义在64K内就可以操作的,而64K的LPC芯片则不...

LPC ARM使用SPI总线控制8个LED灯实例。

下面给出一个LPCARM7通过SPI总线控制8路流水等的实例,让大家对SPI总线传输、发送数据有一个清晰的了解。。同时供大家讨论。电路图如下:开发板通过SPI总线控制74HC595驱动8盏LED灯。程...

LPC1768的USB驱动(一)----USB简介

USB总线历史: (1)USB,是Universal Serial Bus 的缩写,1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的; (2)目前主要是采用USB2.0,...

LPC1768的USB驱动(四)----USB驱动程序(1768被配置为设备进行DMA传输)

USB程序的总体流程图:       (图一)USB程序整体流程图 (1)USB模块初始化: (1)硬件初始化 配置AHB总线时钟和USB Device时钟,使能PCONP...

ARM与射频芯片TRF796x的SPI通信研究

针对TRF7960 SPI接口缺乏标准协议的特点,提出了SPI器件之间通信的一般方法。论文阐述了ARM芯片内置SPI硬件控制器的工作原理和时序,并对射频芯片TRF7960x的工作模式与读写要求进行了分...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)