8个帖子/ 0新
最后一篇
刘峰 - 蓝
离线
最后一次露面:11个月5天前
加入:2018-07-02 06:44
da14580在延长睡眠模式下不工作

这边需要闪存储当前的设备名称,设备mac地址以及设备密钥,以便做修改,发现flash无法对变量进行存储,应该是我的使用方式不对,能告诉我如何在延长睡眠模式下使用flash吗,另外我发现,在存储绑定信息当中,当闪光无法工作的时候,我调用bond_db_store_ext()后,设备自动断开连接,应该是flash没有正常工作造成的吧,我把这句频闭后就能正常连接了。
Flash初始化代码下:
void spi_flash_peripheral_init(void)
{
spi_flash_cs_pad.pin = spi_cs_pin;
spi_FLASH_CS_Pad。端口= SPI_GPIO_PORT;
//启用SPI和SPI Flash

spi_init(&spi_flash_cs_pad,spi_mode_8bit,spi_rool_master,spi_clk_dle_pol_low,spi_pha_mode_0,spi_mint_disable,spi_xtal_div_8);

//检测到_spi_flash_device_index = spi_flash_auto_detect();

// if(检测到_spi_flash_device_index == spi_flash_auto_detect_not_detected)
// {
//未识别设备。
//使用默认参数(spi_flash_size,spi_flash_page)
//可选地,这里可以断言错误。
spi_flash_init(spi_flash_default_size,spi_flash_default_page);
//}

SPI_FLASH_RELEASE_FROM_POWER_DOWN();

spi_cs_low();

spi_cs_high ();
}
希望能尽快得到解决。
非常感谢。

设备:
cyibin.
离线
最后一次露面:8个月1周前
职员
加入:2017-12-14 02:48
你好,

你好,

你的♥中包含包含太太太太说明,我们先把这些情况缕清一下一下?

1,你的硬件环境是官方的开发板?如果不是,闪光阶段是什么?

2、你的软件,能在官方开发板上正常运行吗?

3,不出睡觉睡眠模式(延长睡觉),当前闪光可读,写数号吗?

4,使能睡眠模式(延长睡觉)之后,闪光灯是闪光灯?

5,使用Bond_db_store_ext()之后,设备自动打开连接,是手机了吗?

刘峰 - 蓝
离线
最后一次露面:11个月5天前
加入:2018-07-02 06:44
你好,性感

你好,性感
1,我握用的是自我定义子,闪光信号为w25x10。

2,我使用用途的SDK5.0.4中的SPI_FLASH编程是能够对闪光行程的。

3,我尝试不在在睡眠睡眠下载下载闪光,我是DSPS例程的原因,我使用手板单独将闪存加入在DSPS例程,将代码下在闪存,初始初始后flash flash有闪光数码,发布闪存数码还在,但我没有正当的对闪光行行作用。

可以告诉我是否在需求方下闪光被关闭了,如果是,能告诉我如何正确的在需求方例程下对闪进行操作吗。

system_init ();

spi_flash_peripheral_init ();

spi_cs_low();

spi_cs_high ();

//擦除Flash.
spi_flash_chip_erase()

void spi_flash_peripheral_init()
{
spi_flash_cs_pad.pin = spi_cs_pin;
spi_FLASH_CS_Pad。端口= SPI_GPIO_PORT;
//启用SPI和SPI Flash

spi_init(&spi_flash_cs_pad,spi_mode_8bit,spi_rool_master,spi_clk_dle_pol_low,spi_pha_mode_0,spi_mint_disable,spi_xtal_div_8);

检测到_spi_flash_device_index = spi_flash_auto_detect();

// if(检测到_spi_flash_device_index == spi_flash_auto_detect_not_detected)
// {
//未识别设备。
//使用默认参数(spi_flash_size,spi_flash_page)
//可选地,这里可以断言错误。
spi_flash_init(spi_flash_size,spi_flash_page);
//}
}

INT8_T SPI_FLASH_CHIP_ERASE(void)
{
UINT8_T状态;

if (spi_flash_set_write_enable() != ERR_OK) // send [Write Enable]指令
返回err_timeout;

spi_set_bitmode(spi_mode_8bit);
spi_transaction(chip_erase);//芯片擦除命令
status = spi_flash_wait_till_ready();

返回状态;
}

希望能尽快得到解决。
非常感谢。

cyibin.
离线
最后一次露面:8个月1周前
职员
加入:2017-12-14 02:48
你好,

你好,

是有没有引出JTAG接口,通讯单位调试,看闪存在了哪一卷?

刘峰 - 蓝
离线
最后一次露面:11个月5天前
加入:2018-07-02 06:44
我用用途官方的板子进行调试

我是用途武术的板子传行调试,发表一件在DSPS编程下决定使闪存工作。
1,通讯单位调试,我发表官方的SPI_FLASH例程中,SPI_FLASH_CHIP_ERASE()这这句数目行时间相较于DSPS例程短多多。
2,在需求方例程中,进入spi_flash_chip_erase()函数后,经常会卡在时(GetBits16 (SPI_CTRL_REG SPI_INT_BIT) = = 0);/ /轮询等spi传输,通过单步打破后,又能继续,执行很长一段时间后才能执行完spi_flash_chip_erase()。
3,SPI_FLASH编程能够在传球完spi_flash_chip_erase()后将闪存的内容内容删除,而dsps例程毫无。

我在DSPS过程中间加加了如下代码:

初始化flash IO口
void set_pad_functions(void)//设置GPIO端口功能模式
{

/*
*配置应用端口。
IE。
gpio_configurepin(gpio_port_0,gpio_pin_1,输出,pid_gpio,false);//将P_01设置为通用输出
* /
GPIO_ConfigurePin(GPIO_UART1_TX_PORT, GPIO_UART1_TX_PIN, OUTPUT, PID_UART1_TX, false);
gpio_configurepin(gpio_uart1_rx_port,gpio_uart1_rx_pin,input_pullup,pid_uart1_rx,false);

gpio_configurepin(spi_gpio_port,spi_cs_pin,输出,pid_spi_en,true);
gpio_configurepin(spi_gpio_port,spi_clk_pin,输出,pid_spi_clk,false);
gpio_configurepin(spi_gpio_port,spi_do_pin,输出,pid_spi_do,false);
gpio_configurepin(spi_gpio_port,spi_di_pin,输入,pid_spi_di,false);

#if(uart_hw_flow_enabled)
gpio_configurepin(gpio_uart1_rts_port,gpio_uart1_rts_pin,输出,pid_uart1_rtsn,false);
gpio_configurepin(gpio_uart1_cts_port,gpio_uart1_cts_pin,input_pullup,pid_uart1_ctsn,false);
#endif // uart_hw_flow_enabled.

# ifdef CFG_PRINTF_UART2
GPIO_ConfigurePin(GPIO_UART2_TX_PORT, GPIO_UART2_TX_PIN, OUTPUT, PID_UART2_TX, false);
gpio_configurepin(gpio_uart2_rx_port,gpio_uart2_rx_pin,输入,pid_uart2_rx,false);
#万一

}
主函
int main_func(void)
{
sleep_mode_t sleep_mode;

//全球初始化
system_init ();

spi_flash_peripheral_init ();

spi_cs_low();

spi_cs_high ();

//擦除Flash.
spi_flash_chip_erase();

/*
************************************************************************************
*平台初始化
************************************************************************************
* /
而(1)
{
做 {
//安排所有待处理的事件
schedule_hile_ble_on();
}
而((app_asynch_proc())));//授予控件到应用程序,尝试掉电
//如果应用程序返回goto_sleep
//((streeData_queue)&& stree_queue_more_data()));//授予对拖缆的控制,尝试向下掉电
//如果应用程序返回goto_sleep
//等待中断,如果允许这样做,请睡觉
if(((!ble_app_present)&&(check_gtl_state()))||
(BLE_APP_PRESENT))
{
//禁用中断
global_int_stop();

app_asynch_sleep_proc ();

//获取允许的睡眠模式
//从rwip_power_down()到wfi()的时间必须尽可能短!!
sleep_mode = rwip_power_down();

if((sleep_mode == mode_ext_sleep)||(sleep_mode == mode_deep_sleep)){
//关闭收音机,无论允许的信息
Arch_Goto_Sleep(Sleep_Mode);

//等待中断恢复操作
WFI();

//恢复操作
arch_resume_from_sleep ();
}
否则if(sleep_mode == mode_idle)
{
if((!ble_app_present)&& check_gtl_state())||
(BLE_APP_PRESENT))
//等待中断恢复操作
WFI();
}
//恢复中断
GLOBAL_INT_START ();
}

如果(USE_WDOG)
wdg_reload (WATCHDOG_DEFAULT_PERIOD);
}
}

关键词
# undef CFG_MEM_MAP_EXT_SLEEP
#undef cfg_mem_map_deep_sleep.

关节开门
#undef cfg_wdog.

关闭调试模式
#undef cfg_development_debug.

cyibin.
离线
最后一次露面:8个月1周前
职员
加入:2017-12-14 02:48
你好,

你好,

关键词的方便不一致,应该是const static sleep_state_t app_default_sleep_mode = arch_sleep_off;

请尝试后回复结果

刘峰 - 蓝
离线
最后一次露面:11个月5天前
加入:2018-07-02 06:44
关键词了尝试不行

关闭了尝试也不行,可以给我一个flash在需求方例程下成功使用的案例嘛,闪光型号为W25X10。

cyibin.
离线
最后一次露面:8个月1周前
职员
加入:2017-12-14 02:48
不好,目前官方无所不用你所提还没解决

不好,目前官方无所不用你所提还没解决,你可向当地代理商寻求技术支持