打印

STC片载FLASH好象不怎么好用

[复制链接]
2096|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huangli211|  楼主 | 2008-11-7 21:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
soso| | 2008-11-7 23:15 | 只看该作者

RE

很好用啊,你所说的不好用,是那方面的?
所有的FLASH都是要先擦除,才能写数据的哦

使用特权

评论回复
板凳
hyhjjg| | 2008-11-9 19:51 | 只看该作者

回张工

他提供的以8000H起的片载DATE FALSH做数据存储看起来很是方便,用他们提供的函数操作的时候写进去都返回OK,可是读出都不对的,是那里还没有做的位吗?

使用特权

评论回复
地板
z_no1| | 2008-11-9 19:55 | 只看该作者

代码,没代码要人家怎么帮你啊?

使用特权

评论回复
5
z_no1| | 2008-11-9 20:43 | 只看该作者

昏倒,你找不到重点啊?

你是读写有问题,可你拿来的程序是读写的上层程序,关键的读写驱动却没有。
u8 byte_read(u16 address)
{
?????????
}
void byte_program(u16 address,u8 dat)
{
????????????
}

使用特权

评论回复
6
hyhjjg| | 2008-11-9 20:54 | 只看该作者

回z_no1朋友读写驱动是STC的网站上提供的

/* ×Ö½Ú±à³Ì */
INT8U byte_program(INT16U byte_addr, INT8U original_data)
{
    ISP_ADDRH    =    (INT8U)(byte_addr >> 8);
    ISP_ADDRL    =    (INT8U)(byte_addr & 0x00ff);

    ISP_CMD        =    ISP_CMD    &    0xf8;        /* 1111,1000 */
    ISP_CMD        =    ISP_CMD    |    PROGRAM_AP_and_Data_Memory_Command;        /* 0000,0010 */
    ISP_DATA    =    original_data;

    ISP_IAP_enable();
    ISP_TRIG    =    0x46;        /* ´¥·¢ISP_IAPÃüÁî */
    ISP_TRIG    =    0xb9;        /* ´¥·¢ISP_IAPÃüÁî */
    _nop_();

    ISP_IAP_disable();
    return    OK;
}

使用特权

评论回复
7
hyhjjg| | 2008-11-9 20:58 | 只看该作者

应该不是驱动的问题

使用特权

评论回复
8
icmap| | 2008-11-9 21:58 | 只看该作者

写 Flash Data 的任何一个字节之前

要保证该字节的原有内容为 0xff。

使用特权

评论回复
9
hyhjjg| | 2008-11-9 22:11 | 只看该作者

就是说必须要在写之前要擦除?

使用特权

评论回复
10
huangli211|  楼主 | 2008-11-9 22:14 | 只看该作者

刚才看看以下

好象只能以200H为单位擦除,这就很是不方便了

使用特权

评论回复
11
z_no1| | 2008-11-9 22:45 | 只看该作者

FLASH嘛,又不是真的EEPROM。

FLASH和EEPROM的最大区别就在可不可以单个字节改写。

使用特权

评论回复
12
李冬发| | 2008-11-10 00:28 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

19

主题

86

帖子

0

粉丝