搜索
bottom↓
回复: 3

LPC4357 SSP0驱动SPI FLASH问题

[复制链接]

出0入0汤圆

发表于 2014-4-19 23:02:45 | 显示全部楼层 |阅读模式
SSP0挂了片SPI FLASH,程序调了一天没成功,请大家帮忙看一下初始化代码是否有问题。

//the bit frequency is PCLK / (CPSDVSR * [SCR+1])
#define CLK_SRC 1//
#define CLK_CPSDVSR        6//between 2-254

#define GPIO_FUCTION0        (0x00)
#define GPIO_FUCTION1        (0x01)
#define GPIO_FUCTION2        (0x02)
#define GPIO_FUCTION3        (0x03)
#define GPIO_FUCTION4        (0x04)
#define GPIO_FUCTION5        (0x05)
#define GPIO_FUCTION6        (0x06)
#define GPIO_FUCTION7        (0x07)

#define GPIO_ENABLE_PULLDOWN                (1<<3)
#define GPIO_DISABLE_PULLDOWN                (0<<3)
#define GPIO_ENABLE_PULLUP                        (0<<4)
#define GPIO_DISABLE_PULLUP                        (1<<4)
#define GPIO_SLEWRATE_LOW                        (0<<5)
#define GPIO_SLEWRATE_HIGH                        (1<<5)
#define GPIO_DISABLE_INPUTBUFFER                (0<<6)
#define GPIO_ENABLE_INPUTBUFFER                (1<<6)
#define GPIO_ENABLE_ZIF                                (0<<7)
#define GPIO_DISABLE_ZIF                                (1<<7)

void SSP0_Init(void)
{
        LPC_CGU->BASE_SSP0_CLK = (0x09<<24) | (1<<11);//连接时钟到PLL1
        //ʹÄÜʱÖÓ
        LPC_CCU2->CLK_APB0_SSP0_CFG = CCU_CLK_CFG_AUTO | CCU_CLK_CFG_RUN;
        while (!(LPC_CCU2->CLK_APB0_SSP0_STAT & CCU_CLK_STAT_RUN));
       
        LPC_SCU->SFSPF_0 = GPIO_FUCTION0|GPIO_DISABLE_PULLUP|GPIO_SLEWRATE_HIGH;//CLK
        LPC_SCU->SFSPF_2 = GPIO_FUCTION2|GPIO_DISABLE_PULLUP|GPIO_SLEWRATE_HIGH|GPIO_ENABLE_INPUTBUFFER;//MISO
        LPC_SCU->SFSPF_3 = GPIO_FUCTION2|GPIO_DISABLE_PULLUP|GPIO_SLEWRATE_HIGH;//MOSI
       
        LPC_SSP0->CR0 = (CLK_SRC<<8)|0X07;//SPI,8Bit,
        LPC_SSP0->CPSR = CLK_CPSDVSR;
        LPC_SSP0->DMACR = (1<<1)|(1<<0);
        LPC_SSP0->ICR = (1<<1)|(1<<0);
        LPC_SSP0->CR1 = (1<<1);//启动SSP0
}

u8 SSP0_ReadWriteByte(u8 Data)
{
        while(!(LPC_SSP0->SR&SSP_STAT_TNF));//TX FIFO is not full
        LPC_SSP0->DR = Data;
        while(!(LPC_SSP0->SR&SSP_STAT_RNE));//RX FIFO is not empty
        return LPC_SSP0->DR;
}

出0入0汤圆

 楼主| 发表于 2014-4-20 16:29:18 | 显示全部楼层
虽然没人回,但此问题已经解决,我贴的这部分程序是没有问题的,是FLASH片选没有配好。

出0入0汤圆

发表于 2014-5-21 21:49:03 | 显示全部楼层

出0入0汤圆

发表于 2014-6-9 14:39:20 | 显示全部楼层
能把你的ssp的程序给我参考一下吗
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 13:08

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表