关闭

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

348人阅读 评论(0) 收藏 举报

 下面给出的是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的数据采样电路中测试通过了的.

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1249次
    • 积分:34
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档