TI中文支持网
TI专业的中文技术问题搜集分享网站

CC2540 flash 写与读

请问如何写和读flash,

HalFlashErase(0x40);
HalFlashWrite(0x8000, buff, 30);
HalFlashRead(0x00, 0x0000, buff, 30);

为什么读出来的与写入的不一样?

Yan:

为了更好地促进我们论坛的发展,

如果提供的方法有效, 希望请把问题设为已解决, 并推荐最佳答案 🙂

非常感谢!

asdfe sdsd:

回复 Yan:

能具体介绍下这几个函数及FCTL各参数么,这个是读写内部flash吧?cc2540的蓝牙序列号是存在哪里的?

CC2540蓝牙4.0BLE开发:

回复 asdfe sdsd:

你要的这些信息pdf资料里面都有

Tao Hong:

回复 Yan:

HalFlashErase(0x10); delays(10); while( FCTL & 0x80 ); // wait for erase to complete HalFlashWrite(0x8000,arr,6); delays(10); HalFlashRead(0x10,0x0000,arrr,6);

你好,我想请问下为什么我这样读写flash没不行呢,读的跟写的不一样?

waiting:

回复 Yan:

Yan

请问一下read的page和write的addr应该怎样换算,好像搞不清这个关系。还有和nv那个id表的value怎么换算。谢谢!

Tao Hong:

回复 waiting:

假如读的是第10页,那么写的时候的地址就是10*2048/4 

teddy stone:

回复 Tao Hong:

我这样直接测试  开发板的LCD和串口都没有任何显示,提示IDATA overflow,请问如何解决

void testflash(void){ uint8 newValueBuf[20]={1,2,3,4,5,6,7,8,9}; uint8 newBuf[20]={0}; uint8 wrt[8] = {'1','2','3','4','5','6','7','8'}; uint8 page = 0x40; uint16 addr = (uint16)page << 9; HalFlashErase(page); SerialPrintString("erase…..\r\n"); while( FCTL & 0x80 ); // wait for erase to complete HalFlashWrite(addr, newValueBuf, 20); HalFlashRead(page, 0x0000, newBuf, 20); sbpSerialAppWrite (newBuf, 20); SerialPrintString("\r\n");}

赞(0)
未经允许不得转载:TI中文支持网 » CC2540 flash 写与读
分享到: 更多 (0)