v_8787 发表于 2010-3-29 12:28:19

请帮忙解答一下LPC2103 SSP接口问题

引脚初始化,将SSP初始化为SPI1

PINSEL0 = 0x20000000;    //0.14    SCK1
PINSEL1 = 0x0680;         //SSEL1   MOSI1MISO1



对SPI1进行初始化

SSPCR0 = 0x01c7;   //cpol = 1cpha = 1   8bit
SSPCR1 = 0x02;
SSPCPSR = 0x52;
SSPIMSC = 0x02;
SSPICR = 0x03;



重复数据发送,中间有加延时

S0SPDR = 0x55;

while((S0SPSR & 0x80) == 0);
return S0SPDR;



通过示波器的两个探头同时探测SSEL1和SCK1,SSEL1在SCK1出现下降沿之前变为低电平,之后1/2个CLK周期SCK1出现下降沿,随后SCK1出现7个高电平脉冲,再之后SCK1维持高电平,经过1/2个CLK周期,SSEL1变为高电平,在SCK1脉冲期,SSEL1一直是维持低电平状态,直到SCK1变高之后,选的是8位数据模式的SPI



SCK1和SSEL1的波形都正常,但MOSI1上面一直没有波形,一直保持在低电平状态,SSEL1接上拉和不接上拉都一样



请各位帮忙看看这样的问题要怎么解决

v_8787 发表于 2010-3-29 14:12:40

发送数据时是写成如下所程序

SSPDR = 0x55;

while((SSPSR & 0x01) == 0);
return SSPDR;

但MOSI就是没数据输出

v_8787 发表于 2010-3-30 08:41:17

都是数据手册惹的祸

liouravr 发表于 2010-3-30 12:33:21

程序没有问题

v_8787 发表于 2010-3-30 12:35:03

自己顶

已经完全好了,数据手册上关于MOSI和MISO的配置有错,按手册来是1010
而实际上是01   01
希望看到的人能少走点点弯路

v_8787 发表于 2010-3-30 12:36:27

liouravr    谢谢你的回复

PHILIPS的数据手册还真不敢恭维

haogong 发表于 2010-9-16 10:00:28

回复【4楼】v_8787
-----------------------------------------------------------------------

你看的是哪个资料? 关于lpc2103的资料太少了!
页: [1]
查看完整版本: 请帮忙解答一下LPC2103 SSP接口问题