[讨论] LPC2148的SSP的使用

hd1006   2012-10-10 11:30 楼主
以下是LPC2148的SSP的初始化及发送接收程序,不能正常通信,请知道的高手帮忙指点一下,另外SSP寄存器设置中的SCR与SSPCPSR和PCLK是什么关系,怎样设置,串行时钟速率又是什么?
void ssp_init() //SSP初始化
{
PINSEL0 &=~(0x03<<22|0x03<<26);
PINSEL1=0x02<<2|0x02<<4|0x02<<6|0x02<<8;//0x2a8选择SSP功能
  //SSPCR0=0x0107;
SSPCR0 =    (0x01 << 8) | //(0x01 << 8) |    //SPI时钟分频
                (0x00 << 7) |    //时钟输出相位
                (0x00 << 6) |    //时钟输出极性 //0
                (0x00 << 4) |    //帧格式:00=SPI;01=SSI;10=MW;11保留
                (0x07 << 0) ;    //数据长度0011=4bit,0111=8bit,1111=16bit
                  
    SSPCPSR=0x02;
    SSPICR =0x03; //清除中断
    SSPCR1 =     (0x00 << 3) |     //1禁止从机输出,0允许
                (0x00 << 2) |    //0为主机1为从机
                (0x01 << 1) |    //1允许SSP与其它设备通讯
                (0x00 << 0) ;    //回写模式
  
}
uint8  ssp_senddata(uint8 data)
{  
    SSPDR = data;
    //while( (SSPSR & 0x01) == 0 );        // 等待TFE置位,即发送FIFO空   
//while( (SSPSR & 0x10));
while( (SSPSR & 0x014) != 0x04 );
    return(SSPDR);
}
哪位大侠能帮忙指点一下?万分感激~~

回复评论 (3)

有没有人知道啊?
点赞  2012-10-10 13:21

晚上回来

给你看一下 我用过的代码
点赞  2012-10-11 13:33

回复 板凳 hitmz 的帖子

(⊙o⊙)…您的程序呢?
点赞  2012-10-12 08:29
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复