导航

    Freqchip开发者论坛

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

    Mars 发布的帖子

    • RE: 修改FLASH_CAPACITY地址后导致配对卡死

      @ding56239
      // <h> FLASH Configuration
      // <o> FLASH_CAPACITY
      // <i> Internal Flash capacity selection, Default: 4Mb
      // <0x02000000=> 128Mb
      // <0x01000000=> 64Mb
      // <0x00800000=> 32Mb
      // <0x00100000=> 8Mb
      // <0x00080000=> 4Mb
      // <0x00040000=> 2Mb
      #define FLASH_CAPACITY 0x02000000

      #define BLE_STACK_KEY_STORAGE_OFFSET (FLASH_CAPACITY-0x1000)
      #define BLE_REMOTE_SERVICE_SAVE_ADDR (FLASH_CAPACITY-0x2000)
      #define BLE_BONDING_INFO_SAVE_ADDR (FLASH_CAPACITY-0x3000)

      发布在 FR800x
      M
      Mars
    • RE: 多从机开机,然后主机上电开机多连,好像就容易出现协议栈错误gatt_api.c 193

      你app_config.h的最大连接数改了吗

      发布在 FR800x
      M
      Mars
    • RE: 使用fr8016ha芯片开发,现在不需要使用蓝牙的协议栈,把他当作普通的mcu开发,节省ram。有相关历程吗?现在查找到的资料都是带有蓝牙协议栈的。

      没有单独的mcu库哦

      发布在 FR801xH
      M
      Mars
    • RE: FR802x串口接收超时

      0_1783934500681_00c332a3-30c0-4e1e-ae6f-2604a27a6e62-image.png 0_1783934504646_ef57988a-4ff7-488c-84c6-4f18b17a20e9-image.png

      发布在 FR802x
      M
      Mars
    • RE: FR802x串口接收超时
      
      # define AT_RECV_MAX_LEN             513
      static void app_at_recv_c(uint8_t *rx_buff,uint16_t rx_length)
      {
         if((memcmp(at_recv_buffer,"AT#",3)==0)||(memcmp(at_recv_buffer,"AT+",3)==0))
         {
          uint16_t cmd_len=rx_length-3;
          
        struct app_task_event *event;
        event = app_task_event_alloc(APP_TASK_EVENT_AT_CMD, cmd_len, false);
        if(event) {
         memcpy(event->param, &at_recv_buffer[3], cmd_len);
         app_task_event_post(event, false);
        }
          }
         else
         {
        struct app_task_event *event;
        event = app_task_event_alloc(APP_TASK_EVENT_SPEED, at_recv_index, false);
        if(event) {
         memcpy(event->param, at_recv_buffer, at_recv_index);
         app_task_event_post(event, false);
        }
        
         }
         memset(at_recv_buffer,0,AT_RECV_MAX_LEN);
       at_recv_index = 0;
      }
      
      extern USART_HandleTypeDef log_usart;
      __RAM_CODE void USART2_IRQHandler(void)
      {
        if((__USART_GET_INT_STATUS(USART2, USART_INT_RX)) || (__USART_GET_INT_STATUS(USART2, USART_INT_RFTO)))
          {
              if(log_usart.Init.DataLength == USART_DATA_LENGTH_9BIT)
              {
                  /*Rx ready */
                  while(__USART_GET_SR_STATUS(USART2, USART_STATUS_DR))
                  {
                      (*(uint16_t*)log_usart.p_RxData) = USART2->DR;
      
                      log_usart.p_RxData += sizeof(uint16_t);
                      log_usart.u32_RxCount++;
                  }            
              }
              else
              {
                  /* Rx ready */        
                  while(__USART_GET_SR_STATUS(USART2, USART_STATUS_DR))
                  {
                      at_recv_buffer[at_recv_index++] = USART2->DR;
                      if(at_recv_index>=AT_RECV_MAX_LEN)
          {
           app_at_recv_c(&at_recv_buffer[0],at_recv_index);
          }
      
                  }            
              }
      
          }/* Receiver Timeout */
          if(__USART_GET_INT_STATUS(USART2, USART_INT_RTO))
          {
              __USART_CLEAN_INT_STATUS(USART2, USART_INT_RTO);
        at_recv_buffer[at_recv_index++] = USART2->DR;
      //  for(uint8_t i=0;i<at_recv_index;i++)
      //  {
      //   printf("%c ",at_recv_buffer[i]);
      //  }
      //        printf("Packet Len = %d\r\n", at_recv_index);
              /*这里处理完整的数据包*/
        app_at_recv_c(&at_recv_buffer[0],at_recv_index);
          }
      }
      
      
      发布在 FR802x
      M
      Mars
    • RE: FR8008GP的flash是8M的。在keil中我只有512k的FLM文件,请问哪里有8m的FLM文件

      什么都没有改使用原始sdk会出现吗

      发布在 FR800x
      M
      Mars
    • FR802x串口接收超时

      FR802x支持串口超时判断,使用方法是怎么样的?

      发布在 FR802x
      M
      Mars
    • RE: FR802x原始SDK的USB无法识别的问题

      0_1783932568058_f6567525-2b40-4572-89b3-708afabd0270-d20504979bf78bd101cdf271de101dec.png
      修改办法参考上面

      发布在 FR802x
      M
      Mars
    • FR802x原始SDK的USB无法识别的问题

      FR802x原始SDK的USB无法识别的问题

      发布在 FR802x
      M
      Mars
    • RE: FR8008GP的flash是8M的。在keil中我只有512k的FLM文件,请问哪里有8m的FLM文件

      // <h> FLASH Configuration
      // <o> FLASH_CAPACITY
      // <i> Internal Flash capacity selection, Default: 4Mb
      // <0x02000000=> 128Mb
      // <0x01000000=> 64Mb
      // <0x00800000=> 32Mb
      // <0x00100000=> 8Mb
      // <0x00080000=> 4Mb
      // <0x00040000=> 2Mb
      #define FLASH_CAPACITY 0x02000000

      #define BLE_STACK_KEY_STORAGE_OFFSET (FLASH_CAPACITY-0x1000)
      #define BLE_REMOTE_SERVICE_SAVE_ADDR (FLASH_CAPACITY-0x2000)
      #define BLE_BONDING_INFO_SAVE_ADDR (FLASH_CAPACITY-0x3000)
      原始sdk你直接替换成这样就可以的
      然后选择你对应的flash大小、

      发布在 FR800x
      M
      Mars
    • RE: FR8008GP的flash是8M的。在keil中我只有512k的FLM文件,请问哪里有8m的FLM文件

      http://www.freqchip.net:4567/topic/1241/fr800x-flash根据对应型号修改对应大小
      还有这里需要改

      发布在 FR800x
      M
      Mars
    • RE: 8003A使用0.4.19版本SDK依旧存在8003A作为蓝牙主机收不到从机的通知数据包的问题

      1、你发送的哪个通道的特征值在对端是否存在,对端的处理是否回回复给你
      2、你主机使能通知从机的通知从机这边默认就写好回复的如下图:
      0_1764038885289_7fe49f23-73a6-4b24-a0fa-7ed1f8459953-image.png

      3、主从机通讯的流程参考如下图:
      0_1764038455182_3f44ae18-9a9e-4ec3-bf7d-51aba54edf91-image.png

      发布在 FR800x
      M
      Mars
    • RE: PE0初始化上拉输入

      @liurenwoxing 在 PE0初始化上拉输入 中说:

      __SYSTEM_GPIO_CLK_ENABLE();
      GPIO_InitTypeDef GPIO_Handle;
      GPIO_Handle.Pin = GPIO_PIN_0;
      GPIO_Handle.Mode = GPIO_MODE_INPUT;
      GPIO_Handle.Pull = GPIO_PULL_UP;
      gpio_init(GPIO_E, &GPIO_Handle);
      你的参数写错了
      0_1762831644670_a79869de-af98-4757-ac80-c412a555a8ff-image.png

      发布在 FR800x
      M
      Mars
    • RE: 芯片低功耗的方式

      //设置唤醒的io口
      void pmu_port_wakeup_func_set(enum system_port_t port, uint8_t bits)
      //设置取消唤醒的io口
      void pmu_port_wakeup_func_clear(enum system_port_t port, uint8_t bits)

      发布在 FR800x
      M
      Mars
    • 芯片低功耗的方式

      0_1762828433122_a6377ab9-d468-4055-abb2-507d3c063567-image.png

      发布在 FR800x
      M
      Mars
    • RE: BLE进入休眠模式以后无法连接设备

      pmu_port_wakeup_func_set这个函数设置唤醒引脚,软件定时器也可以唤醒

      发布在 FR800x
      M
      Mars
    • RE: PE0初始化上拉输入

      @liurenwoxing 读就是这样读,还有PMU的方式

      pmu_set_pin_mux	  (GPIO_PORT_D, GPIO_BIT_6, PMU_PIN_FUNC_GPIO);
      pmu_set_pin_to_PMU(GPIO_PORT_D, BIT(6));
      pmu_set_pin_dir   (GPIO_PORT_D, BIT(6),GPIO_DIR_IN);
      pmu_set_pin_pull  (GPIO_PORT_D, BIT(6), GPIO_PULL_UP);
      

      if(pmu_get_gpio_value(GPIO_PORT_D, GPIO_BIT_6)==0)
      {
      co_delay_100us(1500);
      if(pmu_get_gpio_value(GPIO_PORT_D, GPIO_BIT_6)==0)
      {
      co_printf("SEND \r\n");
      timer_send_task(NULL);
      }
      }

      发布在 FR800x
      M
      Mars
    • RE: PE0初始化上拉输入

      这个量出来不应该是低电平

      发布在 FR800x
      M
      Mars