你好。
我们目前正在构建一个需要一些存储的应用程序,并希望我们可以使用DA14583中内部1Mbit闪存的某些部分。
问题是我们似乎无法让记忆做出反应。
目前这是periph\u setup.c中的设置代码
//配置内部闪存GPIO
GPIO\ U配置引脚(DA14583\ U SPI\ U FLASH\ U EN\ U GPIO\端口,DA14583\ U SPI\ U FLASH\ U EN\ U GPIO\引脚,输出,PID\ U SPI\ U EN,true);
GPIO\ U配置引脚(DA14583\ U SPI\ U FLASH\ U CLK\ U GPIO\端口,DA14583\ U SPI\ U FLASH\ U CLK\ U GPIO\引脚,输出,PID\ U SPI\ U CLK,false);
GPIO\ U配置引脚(DA14583\ U SPI\ U FLASH\ U DO\ U GPIO\端口,DA14583\ U SPI\ U FLASH\ U DO\ U GPIO\引脚,输出,PID\ U SPI\ U DO,false);
GPIO\ U配置引脚(DA14583\ U SPI\ U FLASH\ U DI\ U GPIO\端口,DA14583\ U SPI\ U FLASH\ U DI\ U GPIO\引脚,输入,PID\ U SPI\ U DI,false);
cs_pad_param.port=DA14583_SPI_FLASH_EN_GPIO_端口;
cs_pad_param.pin=DA14583_SPI_FLASH_EN_GPIO_pin;
//初始化SPI驱动程序
spi_init(&cs_pad_param,spi_MODE_8BIT,spi_ROLE_MASTER,spi_CLK_IDLE_POL_LOW,spi_PHA_MODE_0,spi_MINT_DISABLE,spi_XTAL_DIV_8);
//初始化SPI闪存驱动程序
spi\ u flash\ u init(DA14583\ u spi\ u flash\ u SIZE,DA14583\ u spi\ u flash\ u PAGE\ u SIZE);
(摘自一个示例项目)
然后实际地写和读,这个:
uint8\u t*buff=“字符串”;
spi\闪存\写入\数据(buff,0x00,6);
printf(“写了!”);
记忆集(buff,0,6);
spi\闪存\读取\数据(buff,0x00,6);
printf(“读取:%s\n\r”,buff);
同时测试spi\u flash\u auto\u detect()总是返回spi\u flash\u auto\u detect\u NOT\u DETECTED
所以问题是:
-我们可以从代码中读/写内部flash吗?还是只限于智能代码段?
-如果是这样的话,你对我们做错了什么有什么看法吗?
//
雅各布

嗨,雅各布·诺德格伦1,
很可能您禁用了内部闪存设备(它处于关机状态)。请在#6柱处检查以下螺纹。
http://support.dialog-semiconductor.com/unable-read-da14583-internal-fla...
谢谢你的对话
谢谢你的快速回复。
我确实在那里有释放能力的调用,我只是在粘贴代码时错过了它。
不过,我们的问题已经通过将SPIÿu 5V连接到开发板上的bat上得到了解决。。。
非常感谢你的帮助!
//
雅各布