[资料分享] MSP430驱动SST25VF016B程序

nqyijian   2013-11-6 09:59 楼主
一个版友MSP430驱动SST25VF016B程序一直有问题,特贴出我自己使用无问题的版本。
    固件中,自己更改所使用的SPI口和初始化好SPI就行。

    固件SST25_Init中,
u8 SST25_Init(void)
{
    u8 m;
    m = SST25_ReadFlashID();                                    //读Flash内部ID
    if (m == SST25_RDID)                                          //判断是否是SST25的ID
    {
        do
        {
            SST25_EnableWriteStatus();                         //使能内部状态寄存器写功能
            SST25_WriteFlashStatus(0x00);                        //上电必须写一次,写内部状态寄存器
            m = SST25_ReadFlashStatus();                    //读Flash内部寄存器   
        }
        while (m);                                                         //内部寄存器写成功


        SST25_ChipErase();                                         //擦写整个芯片
        SST25_SDtoFlash(SD_ADDR_PIC1, FLASH_ADDR_PIC1, PIC_LENGTH_BYTE);//将SD卡中数据写入FLASH指定地址


        do
        {
            SST25_WriteDisable();                               //软件写禁能
            SST25_EnableWriteStatus();                     //使能内部状态寄存器写功能
            SST25_WriteFlashStatus(0x9C);                    //写保护
            m = SST25_ReadFlashStatus();                //读内部状态寄存器
        }
        while(m != 0x9c);                                         //写保护成功
        return FLASH_NO_ERR;
    }
    else
    {
        return FLASH_ERR;                                      //初始化错误代码
    }
}

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复