摘要: 一、 结构体 struct stu{ char *name; //姓名 int num; //学号 int age; //年龄 char group; //所在小组 float score; //成绩 } stu1; //定义结构体类型的同时定义结构体变量 /* *其他写法: * ① //先定义结构 阅读全文
posted @ 2023-12-19 14:27 SweetTea_lllpc 阅读(289) 评论(0) 推荐(0)
摘要: 前言: 主从机进行交互MTU,需要主从机均支持修改MTU,如果只有一端支持,则无法成功修改MTU。 MTU值影响开销数据的数量(特别是ATT报头,它是3字节)。ATT MTU的最小值为27字节。这允许最大20字节的ATT有效负载(3字节用于ATT报头,4字节用于L2CAP报头)。 BLE5.0协议可 阅读全文
posted @ 2023-12-12 10:26 SweetTea_lllpc 阅读(3603) 评论(0) 推荐(0)
摘要: 前言: 针对CH582芯片使用单载波\SingleChannel测试进行讲解。 开启单载波: CH58X_BLEInit(); HAL_Init(); GAPRole_PeripheralInit(); LL_SingleChannel( 19 ); //需要放在角色初始化后面并开启单载波 whil 阅读全文
posted @ 2023-12-06 14:38 SweetTea_lllpc 阅读(1043) 评论(0) 推荐(0)
摘要: 前言: 针对从机服务使用128bit并增加一个noti属性进行讲解。 一、在gattprofile.c中修改 数组修改: static gattAttribute_t simpleProfileAttrTbl[] = { // Simple Profile Service { {ATT_BT_UUI 阅读全文
posted @ 2023-11-28 09:49 SweetTea_lllpc 阅读(749) 评论(0) 推荐(1)
摘要: 前言: CH582EVT中Central例程修改待连接MAC地址即可与对应的从机建立连接。实现数据传输则是通过枚举特定UUID进而获取透传的handle值。UUID是获取handle值的一种方式,只要能够获取到handle值即可。以下提供两种方式获取handle并进行数据传输。 直接抓包已有主机或手 阅读全文
posted @ 2023-11-21 11:22 SweetTea_lllpc 阅读(1556) 评论(0) 推荐(0)
摘要: 前言: 使用CH592与CH32V305可实现2K鼠标上报率功能,具体功能和实现做以下讲解。 一、描述 需要使用2块CH592的开发板和1块CH32V305开发板。 2块CH592分别作为2.4GMouse(TX)和Dongle(RX)端的无线设备;CH32V305作为Dongle端连接上位机。 连 阅读全文
posted @ 2023-10-15 23:12 SweetTea_lllpc 阅读(1082) 评论(0) 推荐(0)
摘要: 一、根据MAC连接 CH58x芯片作为主机默认是通过MAC地址方式,即先搜索周围从机的MAC,然后与内部保存的MAC比对并决定是否建立连接。 即在默认例程的central.c的如下位置: // Peer device addressstatic uint8_t PeerAddrDef[B_ADDR_ 阅读全文
posted @ 2023-09-20 17:01 SweetTea_lllpc 阅读(1532) 评论(0) 推荐(0)
摘要: 前言: 针对ADC使用注意点做汇总 一、功能描述 计算公式参考手册,建议使用“建议实际可用测量电压范围”作为ADC采集的增益选择判断标准。计算公式参考手册。 仅使用ADC功能,同时降低功耗,可以将引脚的数字输入功能关闭,配置 R16_PIN_ANALOG_IE。 注:如果引脚用于模拟功能(ADC/T 阅读全文
posted @ 2023-09-06 15:17 SweetTea_lllpc 阅读(746) 评论(0) 推荐(0)
摘要: 前言: Observer比Central仅少了建立连接的功能,其他均为一样。 以下针对作为主机时常用参数进行讲解,即在未连接时扫描的参数:扫描时长、扫描间隔、扫描窗口。 修改这些参数可以有效的降低功耗。 参数讲解: TGAP_DISC_SCAN_INT 是扫描间隔(默认16,单位0.625ms); 阅读全文
posted @ 2023-09-05 17:57 SweetTea_lllpc 阅读(1318) 评论(0) 推荐(0)
摘要: 前言: 针对CH58x芯片使用PWM进行讲解,围绕两方面:TMR产生PWM和PWM。 TMR_PWM 定时器产生的PWM分为直接输出和DMA配置输出。一般建议使用DMA。 默认例程配置PWM持续输出,没有停止。如下配置可以停止PWM。 int main(){ SetSysClock(CLK_SOUR 阅读全文
posted @ 2023-09-05 10:45 SweetTea_lllpc 阅读(568) 评论(1) 推荐(0)