前言
我们在使用BLE芯片时,有的时候我们需要把一些传感器或者标志位等数据存到BLE芯片内部的flash,以便掉电重新上电我们可以利用这些数据来实现一些自定义的功能,现在我就以Nordic 52832的BLE芯片为例,谈谈我在使用这个功能上遇到的问题和心得(本人水平有限,如有哪些不对的理解,还请斧正)。详情如下附件所示:
0
|
|
|
|
void flash_init(void)
{
uint32_t err_code;
uint8_t my_buff[4] = {0x61,0X62,0X63,0X64};
pstorage_module_param_t module_param;
module_param.block_count = 1;
module_param.block_size = 4096;
module_param.cb = my_cb;
err_code=pstorage_init();
APP_ERROR_CHECK(err_code);
err_code = pstorage_register(&module_param, &block_id);
APP_ERROR_CHECK(err_code);
pstorage_block_identifier_get(&block_id, 0, &dest_block_id);
err_code=pstorage_update(&dest_block_id, my_buff, 4, 0);
APP_ERROR_CHECK(err_code);
}
void flash_test(void)
{
// printf("rnarn");
my_flag = 0;
pstorage_handle_t dest_block_id;
uint8_t buff[4]={0};
pstorage_block_identifier_get(&block_id, 0, &dest_block_id);
pstorage_load(buff, &dest_block_id, 1, 0);
printf("b%s",buff);
}
写入的和读出的不一样,是哪儿错了呢?请教一下
|
|
|
|
|