打印

张先生,毫无钻牛角之意,即然你说是简单顺序错误,那么请指

[复制链接]
2112|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jatkai|  楼主 | 2008-11-29 14:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
 

毫无钻牛之意!张先生!请帮忙看下代码,附上图说明.请帮指出错误 

    /*初始化SPI */
          CS = 1;
         SPI1C1 = 0x00;            
    SPI1C2 = 0x00;
    //--------------------------------------------
    // BUSclk = 4MHz
    // SPIClk = 4M/2/2 = 1MHz
    SPI1BR = 0x10;            
    //--------------------------------------------
    // SPE = 1 使用SPI接口
    // MSTR = 1 SPI为主模式
    // CPHA=0,CPOL=0 时钟线平常为低电平,接收数据时在SPICLK的上
         // 升沿读取数据
    // LSBFE=1,低位先传    
    SPI1C1 = 0x51;
    (void)(SPI1S == 0);        
          CS = 1;


   
    /*向SPI发送数据 */
    CS = 0;    
    //temp = SPI1S;
    while (!SPI1S_SPTEF);    
    SPI1D = port;    
    while (!SPI1S_SPTEF);
        
    //temp = SPI1S;    
    SPI1D = sendData;    
    while (!SPI1S_SPTEF);   
                                        
    CS = 1;         // 此刻SPIEF已为1,如果置高CS那么如图所示.
                       // 数据还没有完全发送完,CS就变为高电平

    


相关帖子

沙发
张明峰| | 2008-11-29 23:06 | 只看该作者

试试

写一小段子程序如下:

//==============================================================
// Byte in/out through SPI port
// Input:  data byte to be sent out
// return: data byte received
//==============================================================
byte SPI_DataComm(byte outDat)
{
   while (!SPI1S_SPTEF);
   SPI1D = outDat;
   
   while (!SPI1S_SPRF);
   return (SPI1D);
}

你的代码修改如下:

  /*初始化SPI */
          CS = 1;
         SPI1C1 = 0x00;            
    SPI1C2 = 0x00;
    //--------------------------------------------
    // BUSclk = 4MHz
    // SPIClk = 4M/2/2 = 1MHz
    SPI1BR = 0x10;            
    //--------------------------------------------
    // SPE = 1 使用SPI接口
    // MSTR = 1 SPI为主模式
    // CPHA=0,CPOL=0 时钟线平常为低电平,接收数据时在SPICLK的上
         // 升沿读取数据
    // LSBFE=1,低位先传    
    SPI1C1 = 0x51;
    (void)(SPI1S == 0);        
          CS = 1;


   
    /*向SPI发送数据 */
    CS = 0;    
    
    SPI_DataComm(port);
    SPI_DataComm(sendData);
    

                                       
    CS = 1;

使用特权

评论回复
板凳
jatkai|  楼主 | 2008-11-30 11:11 | 只看该作者

非常感谢!

使用特权

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

本版积分规则

20

主题

36

帖子

0

粉丝