tang187

  • 2019-01-08
  • 回复了主题帖: 自制STLINK-V2 JLINK-OB 成功

    感谢楼主分享

  • 2019-01-03
  • 回复了主题帖: 大家有没有用过BLUENRG-1的配对功能

    逆风寒 发表于 2018-11-26 20:46 楼主,你后来OK了没?
    需要更新版本,用最新的SDK,老版本的不行

  • 2018-05-18
  • 回复了主题帖: 大家有没有用过BLUENRG-1的配对功能

    littleshrimp 发表于 2018-5-17 14:29 C:\Program Files (x86)\STMicroelectronics\BlueNRG-1_2 DK 2.5.0\Project\BLE_Examples\BLE_Security
    謝謝,我還在用2.3.。謝謝,我試試

  • 2018-05-17
  • 回复了主题帖: 大家有没有用过BLUENRG-1的配对功能

    littleshrimp 发表于 2018-5-17 13:13 你看过BLE_Security里的例程没?
    有这个历程吗?安装包里面没有呀

  • 发表了主题帖: 大家有没有用过BLUENRG-1的配对功能

    如题,不知大家有没有用过BLUENRG-1的配对功能,我看API的代码,自己写了一个配对的代码,但是发现有一些问题:1.蓝牙连接上之后,手机端进行配对操作,如果手机端输入错误的配对码,第一次会断开连接,如果再次连接,可以连接上,并且可以传输数据。 2.蓝牙连接上之后,手机端进行配对操作,如果手机端忽略配对操作,要等待好久才会有断开连接事件,并且好久之后才会再次申请配对。 测试手机为:苹果6、7、三星note8、华为手机 测试软件:nordic的BLE软件、Scanner 附上测试代码: //移植底包为chat uint8_t CHAT_DeviceInit(void) {         //gatt等初始化。。。。。         ret = aci_gap_set_io_capability(IO_CAP_DISPLAY_ONLY);   if(ret!=BLE_STATUS_SUCCESS)   {       return BLE_STATUS_FAILED;   }   ret = aci_gap_set_authentication_requirement(MITM_PROTECTION_REQUIRED,                                                  OOB_AUTH_DATA_ABSENT,                                                            NULL,                                                7,                                                16,                                                USE_FIXED_PIN_FOR_PAIRING,                                                123456,                                                BONDING);   if(ret!=BLE_STATUS_SUCCESS)   {       return BLE_STATUS_FAILED;   }         ///添加服务。。。 } while(1) {         if (已经连接)         {             if( Send_bond_request == 0)     {                        uint8_t ret = aci_gap_slave_security_req( connection_handle,1,1);       if(ret == BLE_STATUS_SUCCESS)         {         Send_bond_request = 1;                               }     }      } } void hci_disconnection_complete_event(uint8_t Status,                                       uint16_t Connection_Handle,                                       uint8_t Reason) {         Send_bond_request==0;        } //配对认证函数 void aci_gap_bond_lost_event(void) {   aci_gap_allow_rebond(connection_handle); }复制代码

  • 2018-03-09
  • 回复了主题帖: 有谁购买过惠贻华普CMT2300A射频模块,试问效果,技术支持力度如何?

    同问

  • 2018-02-07
  • 回复了主题帖: BlueNRG-1加挑战赛第二版 @【ST MEMS 传感器技术论坛】

    本帖最后由 tang187 于 2018-2-7 08:50 编辑
    littleshrimp 发表于 2018-2-7 08:36 你自己测试后自的数据是什么样的 每组数据是不是都正常 能工作多长时间?
    您好,如下是我抓到的数据。

  • 2018-02-06
  • 回复了主题帖: BlueNRG-1加挑战赛第二版 @【ST MEMS 传感器技术论坛】

    本帖最后由 tang187 于 2018-2-7 09:31 编辑
    littleshrimp 发表于 2018-2-6 22:35 电压一直在输出0V吗
    不知为何,我之前测试是OK的,我再编译一次发给您,麻烦您再测试一下,谢谢

  • 回复了主题帖: BlueNRG-1加挑战赛第二版 @【ST MEMS 传感器技术论坛】

    littleshrimp 发表于 2018-2-6 19:51 红框里是我收到的数据,要怎么和你的格式匹配上?
    您好,注释如下

  • 2018-02-04
  • 回复了主题帖: BlueNRG-1加挑战赛第二版 @【ST MEMS 传感器技术论坛】

    littleshrimp 发表于 2018-2-4 13:22 你的TangDabao_First_Ver_2.hex文件我测试了一下,电流还是比较高,空闲时为1.31mA 因为手机收不到数据 ...
    您好,我是按照此种方式上传的

  • 2018-01-30
  • 发表了主题帖: BlueNRG-1加挑战赛遇到的坑@【ST MEMS 传感器技术论坛】

    1.关于广播:   BLE的广播包大小为31Byte,里面有各段AD type的数据。包括【AD_LEN】+【AD_TYPE】+【AD_Data】   其中len=type+data;(之前做AT指令主机的时候遇到过) 如图所示,里面的所有数据是您代码要广播的数据。 AD Data 1:Name  0x09代表完整名字(作为主机的时候,扫描用的到。) AD Data 3:发射功率; 当然如果您不喜欢广播这么多的话,也可以删除: aci_gap_delete_ad_type(AD_TYPE_TX_POWER_LEVEL)》》》删除发射功率函数 注意:影响功耗的几个因素:1.广播包大小;2.发射功率 ;3.广播间隔;4.连接间隔; aci_gap_update_adv_data(uint8_t AdvDataLen,uint8_t AdvData[])   》》该函数会把数据加载到Buffer中,数据从广播包中的低字节处开始加载,之前的数据会自动的挪到高字节。需要注意的是,参数中的 AdvData[] ,需要包含Adtype和Addata,否则会加载无效。如果想停止广播,可以直接调用aci_gap_set_non_discoverable(),该函数会通过停止LL的adv,之后BLESS会进入Standby state。 2.关于虾哥所聊的VTimer:   总觉得和看门狗定时器很相似。设置一个初值,倒计时到一定数之后复位唤醒.但是大批量测试这个计数器,觉得越大越不准确。最后选择10s最准确,不知道是不是我配置的问题。还望各位大佬指点。   我的处理机制是main里面进入  开始计时+低功耗,其他事件全在回掉函数里面处理;   回调函数:关闭计时器 》》处理其他事物 》》计算时间》》更新广播包 》》开启计时器   贴上我的代码: int main(void) {   uint8_t  ret;   SystemInit();   SdkEvalIdentification();   HW_Config();   ret = BlueNRG_Stack_Initialization(&BlueNRG_Stack_Init_params);   if (ret != BLE_STATUS_SUCCESS) {     printf("Error during BlueNRG_Stack_Initialization() 0x%02x\r\n", ret);     while(1);   }            Device_Init();    printf("Sleep Test_Demo\r\n");      sleep_timer();         while(1) {                 BTLE_StackTick();                 printf("Sleep Test\r\n");                   } } void HAL_VTimerTimeoutCallback(uint8_t timerNum) {          HAL_VTimer_Stop(WAKEUP_TIMER);    Start_Beaconing();   /* Add app code to execute [url=home.php?mod=space&uid=775551]@[/url] Sleep timeout */         if (timerNum==WAKEUP_TIMER)         {                 Count_old=Count_1;                 Count_1=HAL_VTimerGetCurrentTime_sysT32();                 printf("HAL_VTimerGetCurrentTime_sysT32 : %d\r\n",Count_1);                 printf("HAL_VTimerGetCurrentTime_sysT32 : %d\r\n",Count_old);                 printf("a-b : %d\r\n",Count_1-Count_old);                 printf("HAL_VTimerDiff_ms_sysT32 : %d\r\n",HAL_VTimerDiff_ms_sysT32(Count_1,Count_old));                 Update_Beaconing();                 printf("HAL_VTimerTimeoutCallback\r\n");                 aci_gap_set_non_discoverable();                 sleep_timer();         }        } 复制代码 3.ADC测量:    定时器开启之后,在回掉函数处理adc的时候一定要加延时/加延时/加延时,不然ADC读出的数据不准确。 ////*********************************************************************************/// 以上简单描述我遇到的一部分问题,如果再遇到其他,再补充。 说的不好或者不足的,还希望各位大佬指点指点,非常感谢

  • 回复了主题帖: BlueNRG-1加挑战赛第二版 @【ST MEMS 传感器技术论坛】

    littleshrimp 发表于 2018-1-30 11:24 空闲时的电流1个多毫安,是不是哪部分低功耗没处理好?
    6轴与气压传感器的IO未处理,不知是不是这个原因。

  • 回复了主题帖: BlueNRG-1加挑战赛第二版 @【ST MEMS 传感器技术论坛】

    littleshrimp 发表于 2018-1-30 11:21 我跑了一下你的hex文件,手机收不到正确的数据
    您的app,我的手机不能使用,但是我的dongle是可以收到的,如图

  • 2018-01-29
  • 发表了主题帖: BlueNRG-1加挑战赛第二版 @【ST MEMS 传感器技术论坛】

    本帖最后由 tang187 于 2018-1-30 14:03 编辑 跌跌撞撞,完成了第一版,迫不及待的发出来,感谢虾哥的指导。//**************************// Updata:     梳理低功耗机制。     添加计算时间机制 未完成:    因超级电容被我玩坏了,未添加检测3.3V等一众电压。现为每10S开启一次并且广播。    各个IO未梳理。 麻烦虾哥指点,感谢;

  • 回复了主题帖: BlueNRG-1又要低功耗又要计时器怎么办?

    本帖最后由 tang187 于 2018-1-29 21:47 编辑
    littleshrimp 发表于 2018-1-29 11:56 调试时代码卡在哪个位置? 这个例程里有HAL_VTimerStart_ms的使用 在main.c的sleep_timer函数中 你可 ...
    使用这种模式开启Beacon广播之后,就会唤醒呀。

  • 回复了主题帖: BlueNRG-1又要低功耗又要计时器怎么办?

    littleshrimp 发表于 2018-1-29 11:56 调试时代码卡在哪个位置? 这个例程里有HAL_VTimerStart_ms的使用 在main.c的sleep_timer函数中 你可 ...
    三克油,我试一下

  • 回复了主题帖: BlueNRG-1又要低功耗又要计时器怎么办?

    littleshrimp 发表于 2018-1-29 11:33 是执行HAL_VTimerStart_ms函数后卡在HAL_VTimerStart_ms里不能正常返回吗? timerNum和msRelTimeout分别 ...
                     if(HAL_VTimerStart_ms(1, 10000) == 1)     {         printf("HAL_VTimerStart_ms  Fail \r\n");     }     printf("HAL_VTimerStart_ms  OK\r\n"); 这样的

  • 回复了主题帖: BlueNRG-1又要低功耗又要计时器怎么办?

    楼主您好,想问一下您,我是在主函数初始化您所说的HAL_VTimerStart_ms,但是初始化之后,就会死在此处。您能指点一下吗?

  • 回复了主题帖: BlueNRG-1又要低功耗又要计时器怎么办?

    谢谢楼主,整合到现在的代码中

  • 2018-01-28
  • 发表了主题帖: STEVAL-IDB007V1评测代码AT指令完成 @【ST MEMS...

    replyreload += ',' + 2314377;经过一周的调试与测试,所有代码均已经完成: 主要功能: 一套AT指令集; AT + 指令 = 指令内容+\n 指示性指令:AT+Help=?\n 回复指令: Available commands ------------------ Help  : help information RESET  : Reset BLE:AT+RESET=? VERSION  : Query the version number of BLE:AT+VERSION=? MAC  : Set BLE's MAC address:AT+MAC=? DISCONN  : Disconnect BLE:AT+DISCONN=? POWER  : Set BLE transmission strength NAME  : Set the name of the BLE:AT+NAME=? DeAdv  : Delete some broadcast information StarAdv  : Turn on BLE radio:AT+StarAdv=? BLEio  : Set the output capacity of BLEIO BLEConInt  : Set the connection interval:AT+BLEConInt=? BLEAdvInt  : Set the broadcast interval:AT+BLEAdvInt=? Mode  : Set the working mode of BLE:AT+Mode=? Scan  : Turn on scanning:AT+Scan=? MacDir  : direct connection:AT+MacDir=123456 NameDir  : direct connection:AT+NameDir=lsd1234 Notify  : Open the notification:AT+Notify=N //************************************************// 从机指令: AT+RESET=?\n  复位指令            》》》进行复位操作        NVIC_SystemReset(); AT+MAC=?\n   mac查询指令        》》》查询mac地址        aci_hal_write_config_data AT+MAC=123456\n 设置MAC地址 》》》设置MAC地址       aci_hal_write_config_data AT+StarAdv=?\n   开启广播指令   》》》开启蓝牙广播        aci_gap_set_discoverable AT+NAME=?\n    查询蓝牙name AT+NAME=123\n  设置蓝牙名字                                       aci_gatt_update_char_value AT+BLEConInt=?\n 查询连接间隔  》》》查询连接间隔      aci_gap_set_discoverable AT+BLEAdvInt=?\n 查询广播间隔  》》》查询广播间隔      aci_gap_set_discoverable //************************************************// 主机指令: AT+Mode=?\n  查询主从模式  》》查询主模式还是从模式   AT+Mode=4\n  设置为主模式 》》                                    aci_gap_init AT+Scan= \n   开启扫描        》》开启扫描指令                 aci_gap_start_general_discovery_proc AT+MacDir=123456\n            》》设置想要连接的MAC地址  aci_gap_create_connection AT+NameDir=STA\n              》》设置想要连接的名字        aci_gap_create_connection AT+Notify=N\n                     》》开启notify                       aci_gatt_write_char_desc 以上为主要的at命令,后面的是用到的函数。其实官方代码很规范的。大部分蓝牙命令都应用到了chat.c。一些关于服务的代码都放在了gatt_db.c;写的不规范的麻烦大家指正,谢谢,链接:游客,如果您要查看本帖隐藏内容请回复 Sorry,忘记附上链接了,感谢版主提示,顺便不要脸的想要求版主帮我加上链接,回复可见。

TA暂时无记录哦~

最近访客

< 1/1 >

统计信息

已有10人来访过

  • 芯币:131
  • 好友:--
  • 主题:6
  • 回复:38
  • 课时:--
  • 资源:--

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言