13978|34

747

帖子

0

TA的资源

纯净的硅(高级)

楼主
 

难道是spi哪里错了? [复制链接]

郁闷了,显示没反应,难度是spi没正常工作?按理来讲,如果spi工作了,哪怕是错的,
都应该对显示造成影响,用公司的示波器不方便,不知道哪位玩 cortex的lpc1111的高人能给指点一下关于spi的问题。

串口,定时器,led灯是正常的,如果是实在不行,俺就用放弃硬件spi,io模拟spi了。

我用的spi是16位模式。

spi_vga_lpc20100815210709.rar

180.08 KB, 下载次数: 50

程序,keil c写的。

lpc_111x_20100525.pdf

253.46 KB, 下载次数: 38

原理图看第五页

spi_vga_at91.rar

277.37 KB, 下载次数: 38

原来的at91sam7s64的程序,这个没问题

最新回复

调了2天,借助逻辑分析仪解决了问题  详情 回复 发表于 2010-8-27 19:01
点赞 关注
 

回复
举报

161

帖子

0

TA的资源

一粒金砂(高级)

沙发
 

看一下。

 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
用逻辑分析仪抓一下。
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

4
 

你好

 

[ 本帖最后由 kuyuyouku 于 2010-8-16 10:39 编辑 ]
个人签名伟博创科技将竭诚为您提供专注为您提供LPC11xx的产品开发深层次服务  15875546337 QQ:517558013  
 
 
 

回复

3

帖子

0

TA的资源

一粒金砂(初级)

5
 

你好

void SSPInit( void )
{
// uint8_t i, Dummy=Dummy;

  LPC_SYSCON->PRESETCTRL |= (0x1<<0);    //disable spi reset
  LPC_SYSCON->SYSAHBCLKCTRL |= (1<<11);   //spi clk enable
  LPC_SYSCON->SSP1CLKDIV = 0x02;                        /* Divided by 2 */
  LPC_IOCON->PIO0_8           &= ~0x07;        /*  SSP I/O config */
  LPC_IOCON->PIO0_8           |= 0x01;                /* SSP MISO */
  LPC_IOCON->PIO0_9           &= ~0x07;       
  LPC_IOCON->PIO0_9           |= 0x01;                /* SSP MOSI */
-----------------------------------------------------------------------------------------

LPC_SYSCON->SSP1CLKDIV = 0x02; 将这句中1改为0 试试。 这是我们公司的工程师小谢给的意见,看看能不能帮楼主解决问题。希望能给楼主一点帮助!
个人签名伟博创科技将竭诚为您提供专注为您提供LPC11xx的产品开发深层次服务  15875546337 QQ:517558013  
 
 
 

回复

2939

帖子

0

TA的资源

五彩晶圆(中级)

6
 

王会计

居然能问这问题,看例程啊。
 
 
 

回复

747

帖子

0

TA的资源

纯净的硅(高级)

7
 

改掉之后还是没反应,继续查原因。

LPC_SYSCON->SSP1CLKDIV = 0x02; /* Divided by 2 */
 
 
 

回复

4997

帖子

19

TA的资源

裸片初长成(初级)

8
 

回复 7楼 wangkj 的帖子

不会吧,SPI如果用模拟的就没有任何优势了,你可以参考一下我发的代码,应该没问题的。
个人签名我的博客
 
 
 

回复

4997

帖子

19

TA的资源

裸片初长成(初级)

9
个人签名我的博客
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

10
 

回复 楼主 wangkj 的帖子

wangkj你好,这是我的QQ,你加我吧,一起交流一下,1261345622
 
 
 

回复

747

帖子

0

TA的资源

纯净的硅(高级)

11
 

如果交流请加群,630571,注明来自eeworld

该群主要就是讨论  显卡技术和cortex-m0.
早已经满园,加的时候一定要说明来自eeworld。
一般的来历不明,我都建议加更新的群。
那个新群新手多,这个高手多。
 
 
 

回复

747

帖子

0

TA的资源

纯净的硅(高级)

12
 

IP zhaojun_xf 建议不错,可能是ssel0的问题,晚上我好好看看。

白天上班,一直比较忙,
公司搞cortex a8
imx51的片子。
这个片子太复杂,功能很强。
虽然比s5pc110,ix53差很多。
 
 
 

回复

1万

帖子

16

TA的资源

版主

13
 

一点反应都没有的化,一定是设置的问题

具体我下来看下
个人签名http://shop34182318.taobao.com/
https://shop436095304.taobao.com/?spm=a230r.7195193.1997079397.37.69fe60dfT705yr
 
 
 

回复

747

帖子

0

TA的资源

纯净的硅(高级)

14
 

把P0_2设置为gpio输出也还是不行

//https://bbs.eeworld.com.cn/thread-108526-1-1.html   thanks zhaojun_xf from eeworld           2010_08_17
  LPC_IOCON->PIO0_2 &= ~0x07;                /* SSP SSEL is a GPIO pin */
  /* port0, bit 2 is set to GPIO output and high */
  GPIOSetDir( 0, 2, 1 );         //maybe this pin P0_2 can connect to vcc3/vcc5 use 10k res
  GPIOSetValue( 0, 2, 1 );
//end 2010_08_17
 
 
 

回复

747

帖子

0

TA的资源

纯净的硅(高级)

15
 

看来,得动用示波器了。

 
 
 

回复

27

帖子

0

TA的资源

一粒金砂(中级)

16
 
这个是我的1343的spi 初始化,我是跑起来的,不知道对你有用没有
void SSPInit( void )
{
        uint8_t i, Dummy=Dummy;

        LPC_SYSCON->PRESETCTRL |= (0x1<<0);
        LPC_SYSCON->SYSAHBCLKCTRL |= (1<<11);
        LPC_SYSCON->SSPCLKDIV = 0x06;                        /* Divided by 6         =12M        */
        LPC_IOCON->PIO0_8           &= ~0x07;        /*  SSP I/O config */
        LPC_IOCON->PIO0_8           |= 0x01;                /* SSP MISO */
        LPC_IOCON->PIO0_9           &= ~0x07;       
        LPC_IOCON->PIO0_9           |= 0x01;                /* SSP MOSI */

        //P0-10设置为SCK功能
        LPC_IOCON->SCKLOC = 0x00;
        LPC_IOCON->JTAG_TCK_PIO0_10 = 0x02;
       
//USE_CS

        LPC_IOCON->PIO0_2 &= ~0x07;                /* SSP SSEL is a GPIO pin */
        GPIOSetDir( PORT0, 2, 1 );
        GPIOSetValue( PORT0, 2, 1 );

        //serial    baud     =200kbp/s
        //                                (72M/6)/[(cpdvsr==2)*((scr==29)+1)]        =200k
        /* Set DSS data to 8-bit, Frame format SPI, CPOL = 0, CPHA = 0, and SCR is 29 */
        LPC_SSP->CR0 = 0x1d07;

        /* SSPCPSR clock prescale register, master mode, minimum divisor is 0x02 */
        LPC_SSP->CPSR = 0x2;

        for ( i = 0; i < FIFOSIZE; i++ )
        {
        Dummy = LPC_SSP->DR;                /* clear the RxFIFO */
        }

        // 采用查询方式,中断 禁止
        /* Enable the SSP Interrupt */
        //NVIC_EnableIRQ(SSP_IRQn);

        /* Device select as master, SSP Enabled */
        //#if LOOPBACK_MODE
        #if 0
        LPC_SSP->CR1 = SSPCR1_LBM | SSPCR1_SSE;
        #else
        //#if SSP_SLAVE
        #if 0
        /* Slave mode */
        if ( LPC_SSP->CR1 & SSPCR1_SSE )
        {
        /* The slave bit can't be set until SSE bit is zero. */
        LPC_SSP->CR1 &= ~SSPCR1_SSE;
        }
        LPC_SSP->CR1 = SSPCR1_MS;                /* Enable slave bit first */
        LPC_SSP->CR1 |= SSPCR1_SSE;        /* Enable SSP */
        #else
        /* Master mode */
        LPC_SSP->CR1 = SSPCR1_SSE;
        #endif
        #endif
        /* Set SSPINMS registers to enable interrupts */
        /* enable all error related interrupts */
        //LPC_SSP->IMSC = SSPIMSC_RORIM | SSPIMSC_RTIM;
        return;
}
 
 
 

回复

747

帖子

0

TA的资源

纯净的硅(高级)

17
 

跟我的代码对比一下。

先看看。1343和lllx管脚兼容,多了个usb。我这个设计也考虑了这款arm
 
 
 

回复

747

帖子

0

TA的资源

纯净的硅(高级)

18
 

区别

LPC_SYSCON->SSPCLKDIV = 0x06; /* Divided by 6  =12M */
我的数值是2,想要更高频率。
spck 设置多了一个这行:
  LPC_IOCON->JTAG_TCK_PIO0_10 &= ~0x07;

我的手16bit模式,neg模式,其他都一样。
 
 
 

回复

747

帖子

0

TA的资源

纯净的硅(高级)

19
 

改成6,去掉那行,还是不行。

更郁闷了,必须用示波器了。
 
 
 

回复

747

帖子

0

TA的资源

纯净的硅(高级)

20
 

早上趁公司没人,用了一下示波器

spck没信号,低电平。但不是0,比0稍高。
ea0(p0_11) 依然为低
SSEL0(P0_2)低,郁闷了。
isp_clk(p0_1) 48.19Mhz时钟出来了。
spck_led(P1_8) 正常,800ms,周期,和计算的数值基本没区别

跟我程序中设置不一样呀。咋回事,难道P0,P1,P2是不同的时钟域?
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表