打印

关于TQ2440的SPI的一些疑问

[复制链接]
1667|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shampo0|  楼主 | 2013-6-12 17:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
过两天要弄个AD7685的芯片采集数据,这两天芯片没到,就想通过2440的SPI接口进行一些数据发送,权当练手。从网上弄了一篇**来改了一改,可是不知道为什么数据出不来。
我现在SPI的数据时这样的:
#include "def.h"
#include "option.h"
#include "2440addr.h"
#include "2440lib.h"
#include "2440slib.h"

int datax,rxdat;

void init_spi(void)
{

    int t;

//初始化相关io端口设置
    rGPECON = rGPECON&~(3<<22)&~(3<<24)&~(3<<26)
                        |(2<<26)|(2<<24)|(2<<22);   //GPE11-SPIMISO GPE12-SPIMOSI GPE13-SPICLK

    rGPGCON = rGPGCON&~(3<<4)|(3<<4);               

//nSS0 bit is input,GPG2-nSS0,直接接地
    rGPGUP &= ~(1<<2);                              //enable GPG pull up ,只使能CSn的上拉
    rGPEUP = 0xffff;                                //disable GPE pull up

//初始化SPI设置
    rSPPRE0 = 0x18;                                 //PCLK=50M,SPICLK=50/2/(24+1)=1M
    rCLKCON|= (1<<18);                              //使能SPI的时钟模块
    Uart_Printf("rCLKCON=%x\n",rCLKCON);
    rSPCON0 = (0<<6)|(0<<5)|(1<<4)|(1<<3)
                    |(0<<2)|(0<<1)|(0<<0);

//polling mode ,enable ENSCK即enable sclk,master,CPOL=0,CPHA=0,normal mode
    rSPPIN0 = (0<<2)|(1<<1)|(0<<0);                 //dis-ENMUL,SBO,release
   
    for(t=0;t<10;t++)
       rSPTDAT0 = 0xff;                             //初始化设备
   
}


/**************SPI接收数据***************/
U8 read_spi()
{
   
    rSPRDAT0 = 5;
   
    while(!(rSPSTA0&0x01==0x01));
   
    rxdat = rSPRDAT0;
   
    return rxdat;
   
}


/************SPI的初始化程序*************
GPG2-----nSS0 GPE11-----MISO
GPE12----MOSI GPE13-----SPICLK
*****************************************/

void spi_7685(void)
{
   
    U8 spi_byte;
   
    init_spi();
    Uart_Printf("spi initlized\n");
   
    while(1)
    {

         spi_byte = read_spi();
         Uart_Printf("spi_byte=%d\n",spi_byte);

         Delay(1000);
     }
}
可是出来的数字最后全是255;
1rCLKCON=fffff0
spi initlized
spi_byte=255
spi_byte=255
spi_byte=255
spi_byte=255
spi_byte=255
spi_byte=255
spi_byte=255
spi_byte=255
spi_byte=255
兄弟们,为什么呢

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

18

主题

62

帖子

0

粉丝