导航

    Freqchip开发者论坛

    • 注册
    • 登录
    • 搜索
    • 版块
    • 最新
    1. 主页
    2. zxy
    3. 主题
    Z
    • 继续与 zxy 聊天
    • 开始与 zxy 的新会话
    • 举报资料
    • 资料
    • 关注
    • 粉丝
    • 屏蔽
    • 主题
    • 帖子
    • 最佳
    • 群组

    zxy 创建的主题

    • Z

      程序在heap_mem_alloc中死机
      FR303x • • zxy

      4
      0
      赞同
      4
      帖子
      464
      浏览

      Z

      不会吧,这两个加起来最多还像是50k多一点,其他的也占了一部分
    • Z

      串口中断异常,一直进中断
      FR303x • • zxy

      3
      0
      赞同
      3
      帖子
      308
      浏览

      Z

      @zr #include "user_driver_uart.h" #include "user_config.h" #define UART_DRIVER_TASK_MS (TASK_HIGH_SPEED_MS) static void usr_uart_get_data(UART_HandleTypeDef *huart); extern void uart_nvic_enable(UART_UserTypeDef_t handle); extern struct_UART_t uart_get_reg_addr(UART_UserTypeDef_t *handle); void usr_uart_IRQHandler(UART_UserTypeDef_t user_uart) { switch (__UART_INT_GET_ID(user_uart->uart->UARTx)) { case INT_INDEX_TXE: { / Data transit end / if (user_uart->uart->u32_TxCount >= user_uart->uart->u32_TxSize) { if (__UART_IS_TxFIFO_EMPTY(user_uart->uart->UARTx)) { GLOBAL_INT_DISABLE(); __UART_INT_TXE_DISABLE(user_uart->uart->UARTx); GLOBAL_INT_RESTORE(); user_uart->frame->frame_send_flag = true; } } else { / UART_FIFO_ENABLE / if (__UART_IS_FIFO_Enable(user_uart->uart)) { / Until TxFIFO full / while (!__UART_IS_TxFIFO_FULL(user_uart->uart->UARTx)) { user_uart->uart->UARTx->DATA_DLL.DATA = user_uart->uart->p_TxData[user_uart->uart->u32_TxCount++]; / Data transit end */ if (user_uart->uart->u32_TxCount >= user_uart->uart->u32_TxSize) { if (__UART_IS_TxFIFO_EMPTY(user_uart->uart->UARTx)) { GLOBAL_INT_DISABLE(); __UART_INT_TXE_DISABLE(user_uart->uart->UARTx); GLOBAL_INT_RESTORE(); user_uart->frame->frame_send_flag = true; } break; } } } else { user_uart->uart->UARTx->DATA_DLL.DATA = user_uart->uart->p_TxData[user_uart->uart->u32_TxCount++]; } } break; } case INT_INDEX_RX: case INT_INDEX_RX_TOUT: { user_uart->frame->frame_recv_flag = true; user_uart->frame->frame_interval_cnt = 0; usr_uart_get_data(user_uart->uart); break; } default: { volatile REG_USR_t usr_status = user_uart->uart->UARTx->USR; break; } } } void usr_uart_task(UART_UserTypeDef_t *user_uart) { if (user_uart->frame->frame_recv_flag == true) { user_uart->frame->frame_interval_cnt++; if (user_uart->frame->frame_interval_cnt >= (user_uart->frame->frame_interval_ms / UART_DRIVER_TASK_MS)) { user_uart->frame->frame_interval_cnt = 0; user_uart->frame->frame_recv_flag = false; usr_uart_get_data(user_uart->uart); GLOBAL_INT_DISABLE(); __UART_INT_RX_DISABLE(user_uart->uart->UARTx); GLOBAL_INT_RESTORE(); if (user_uart->uart->RxCpltCallback != NULL) { user_uart->uart->RxCpltCallback(user_uart->uart); } user_uart->uart->u32_RxCount = 0; GLOBAL_INT_DISABLE(); __UART_INT_RX_ENABLE(user_uart->uart->UARTx); GLOBAL_INT_RESTORE(); } } if (user_uart->frame->frame_send_flag == true) { if (user_uart->uart->TxCpltCallback != NULL) { user_uart->uart->TxCpltCallback(user_uart->uart); } user_uart->uart->b_TxBusy = false; user_uart->frame->frame_send_flag = false; } } void uart_driver_attr_init(UART_UserTypeDef_t *handle, uint32_t baudRate) { handle->uart->UARTx = uart_get_reg_addr(handle); handle->uart->Init.BaudRate = baudRate; handle->uart->Init.DataLength = UART_DATA_LENGTH_8BIT; handle->uart->Init.StopBits = UART_STOPBITS_1; handle->uart->Init.Parity = UART_PARITY_NONE; handle->uart->Init.FIFO_Mode = UART_FIFO_ENABLE; handle->uart->TxCpltCallback = NULL; handle->uart->RxCpltCallback = NULL; uart_init(handle->uart); __UART_RxFIFO_THRESHOLD(handle->uart, 2); __UART_INT_RX_ENABLE(handle->uart->UARTx); uart_nvic_enable(handle); } void uart_driver_start_receive(UART_UserTypeDef_t *handle, uint8_t *p_data, uint16_t max_byte_num, void (*UsrRxCpltCallback)(struct __UART_HandleTypeDef *huart)) { handle->uart->RxCpltCallback = UsrRxCpltCallback; uart_receive_IT(handle->uart, p_data, max_byte_num); } static void usr_uart_get_data(UART_HandleTypeDef *huart) { while (huart->UARTx->LSR.LSR_BIT.DR) { huart->p_RxData[huart->u32_RxCount++] = huart->UARTx->DATA_DLL.DATA; } } 现在是反复进入那个超时的case里,寄存器的状态在上面贴出来了
    • Z

      堆栈溢出
      FR303x • • zxy

      11
      0
      赞同
      11
      帖子
      1084
      浏览

      Z

      @zr .\components\toolchain\armcc\fr101x_flash.sct: Error: L6388E: ScatterAssert expression ((ImageLength(PATCH_TABLE) + ImageLength(HOST_DATA) + ImageLength(ER_RW) + ImageLength(ER_RW_1)) <= 0xe380) failed on line 37 : (0xf378 <= 0xe380) 这是报错信息,heap_size分了24 * 1024,btdm_size分了16 * 1024,小于ram空间的呀
    • Z

      串口一直在连接状态,一晚上后发现波特率降到115200
      FR303x • • zxy

      2
      0
      赞同
      2
      帖子
      277
      浏览

      Z

      @zxy 你用我们的例程跑一遍试试,看看会出现这种情况不
    • Z

      看门狗问题
      FR303x • • zxy

      3
      0
      赞同
      3
      帖子
      411
      浏览

      Z

      @zr 我就放在这个位置可以的吧 休眠期间看门狗不会把芯片复位的是吗
    • Z

      串口波特率问题
      FR303x • • zxy

      8
      0
      赞同
      8
      帖子
      591
      浏览

      Z

      @zr 没有开,开了应该也会有打印
    • Z

      串口波特率自己从921600降到了115200!
      FR303x • • zxy

      2
      0
      赞同
      2
      帖子
      301
      浏览

      Z

      重启后又一切都正常了 偶发 没有再复现到
    • Z

      蓝牙OTA
      FR303x • • zxy

      6
      0
      赞同
      6
      帖子
      759
      浏览

      Z

      @zxy https://www.123865.com/s/74Sxjv-r1tGA 通用的
    • Z

      绑定信息获取问题
      FR303x • • zxy

      2
      0
      赞同
      2
      帖子
      479
      浏览

      Z

      @zxy 第二个
    • Z

      蓝牙ota升级问题
      FR303x • • zxy

      2
      0
      赞同
      2
      帖子
      543
      浏览

      Z

      @zxy 你们对OTA的速度有很大要求嘛? 我们OTA有现成成熟的方案可以用 参考这个文件的代码,是基于ble来搞的,经典蓝牙的需要你们自己去适配
    • Z

      程序烧录时能否保留配对过的信息
      FR303x • • zxy

      6
      0
      赞同
      6
      帖子
      845
      浏览

      Z

      @zr 好的 我用flash烧录的时候发现并没有擦除我调用flashdb_set写入的信息和绑定信息,我是否可以认为调用flashdb_set存储的信息都在100FF FFFF之后呢,避免擦除这个区域即可?因为我看介绍说flashDB会考虑擦写寿命问题,更简单,如果可以的话我还是希望能使用这个函数
    • Z

      休眠后串口唤醒,偶尔无法唤醒成功
      FR303x • • zxy

      6
      0
      赞同
      6
      帖子
      830
      浏览

      Z

      @zxy 我刚仔细看了下你这么配置也没问题,我分析了下大致的原因就是休眠的时候IO走的是pmu,pmu的时钟是内部的rc时钟,速度比较慢,串口为921600的时候,速度很快,io电平反转可能采不到 建议多发几个字节吧,或者降低下串口的速率
    • Z

      低功耗模式设置串口唤醒
      FR303x • • zxy

      4
      0
      赞同
      4
      帖子
      680
      浏览

      Z

      ok了 我现在暂时没有问题了
    • Z

      休眠唤醒源设置问题
      FR303x • • zxy

      5
      0
      赞同
      5
      帖子
      745
      浏览

      Z

      @zxy https://gitee.com/YgqMars/freqchip/tree/master 看下里面的ota sleep的这个文档
    • Z

      ENABLE_AUTO_RSP问题
      FR303x • • zxy

      2
      0
      赞同
      2
      帖子
      423
      浏览

      Z

      目前状态是手机配对绑定后成功后,断开连接手机无法自动回连,在GAP_EVT_SMP_ENCRYPT_REQ事件中我应该做些什么呢?
    • Z

      删除绑定信息问题
      FR303x • • zxy

      2
      0
      赞同
      2
      帖子
      488
      浏览

      Z

      @zxy 不要放在配对成功这个时间中,试下放在disconnect这个事件中试下
    • Z

      自动回连问题
      FR303x • • zxy

      5
      0
      赞同
      5
      帖子
      975
      浏览

      Z

      @zxy 芯片这边显示还在广播,需要抓下包看下,手机这边发没发起连接请求
    • Z

      BLE_HID
      FR303x • • zxy

      2
      0
      赞同
      2
      帖子
      443
      浏览

      Z

      【有道云笔记】HID例程 https://share.note.youdao.com/s/DXECkNSb
    • Z

      如何导入绑定信息
      FR303x • • zxy

      2
      0
      赞同
      2
      帖子
      484
      浏览

      Z

      参考这个例程