CH579F 断开蓝牙后协议栈死机的问题 。
是否是ram内存不够导致的?多写了一些程序。就会有时候会导致断开连接后卡死的问题。程序中没有开睡眠。死在如下图。
配置如下
map文件如下
有的时候断开后一直在这两种状态切换。
RTC如何实时更新当前时间。从App更新系统时间 后蓝牙断开。调用如下函数
RTC_InitTime( time->hour, time->minute,time->second ); //RTC时钟初始化当前时间
CH579F 断开蓝牙后协议栈死机的问题 。
是否是ram内存不够导致的?多写了一些程序。就会有时候会导致断开连接后卡死的问题。程序中没有开睡眠。死在如下图。
配置如下
map文件如下
有的时候断开后一直在这两种状态切换。
RTC如何实时更新当前时间。从App更新系统时间 后蓝牙断开。调用如下函数
RTC_InitTime( time->hour, time->minute,time->second ); //RTC时钟初始化当前时间
这芯片就这样了,蓝牙协议栈启动后如果蓝牙处于连接状态,更新RTC,蓝牙必定会断开连接,延时更新可接受的话就延时更新吧,需要实时更新必定无解,就外挂RTC芯片吧
芯片就CH57x 系列芯片就一个 rtc, 这意味着蓝牙已经占用,如果同时 拿来做日历,涉及到修改硬件RTC时间的话, 会让BLE的状态机异常,
这里提供两种方法你可参考:
1, 获取时间通过 硬件值时间戳+有符号offset值方式, 然后再换算成 具体日期,
修改时间,只要把日期换算成时间戳,然后调整offset值即可.
附件提供一个示例:
Peripheral_utc_test.zip(解压后放到官网例程的>EXAM>BLE 文件夹即可)
2,不立刻进行修改,仍然是记录下偏差值,当蓝牙断开后,再修改,
修改完硬件RTC值后,额外执行
TMOS_TimerInit(0);
这个例程CH573也能用吗?可以发一份mounriver版本的例程给我吗?谢谢! 邮箱:个人信息保护,已隐藏
可以参考579的进行移植