CH579M 主机模式如何连接指定设备

请问 CH579M 例程Central主机模式如何连接指定设备,并且发送数据到被连接设备。是在程序哪个改动?谢谢指点!

主机本来就是根据mac地址去指定连接设备的,可以修改这个参数来改变

static uint8_t PeerAddrDef[B_ADDR_LEN] = {0x02, 0x02, 0x03, 0xE4, 0xC2, 0x84};

从机添加白名单可以参考此链接:https://www.cnblogs.com/debugdabiaoge/p/15817418.html




感谢回复 再请问一下请问想要给这个设备发送数据 需要在哪里做改动


还有一个问题就是我的设备地址是00 05 61 75 81 90

但是在程序里面德这样写才能连接上呢?

static uint8 PeerAddrDef[B_ADDR_LEN] = { 0x90,0x81,0x75,0x61,0x05,0xc0 };

请问是怎么样的一个对应关系


主机的发送是调用 tmos_start_task(centralTaskId, START_READ_OR_WRITE_EVT, DEFAULT_READ_OR_WRITE_DELAY);任务来实现的,

mac地址大小端一般与手机搜索的mac地址相反,楼上打的mac地址存在一个字节的不同,可能存在笔误。


你好,主机的发送是调用 tmos_start_task(centralTaskId, START_READ_OR_WRITE_EVT, DEFAULT_READ_OR_WRITE_DELAY);任务来实现的,我看了一下程序还是有点不是很清楚,请问一下,我想实现按按键发送1234567890到被连接设备,请问具体怎么发送1234567890呢?多谢指教


你说的这个应该是触发吧,具体发送数据是用到哪一个函数呢


可以打开那个任务看看

emobile_2022-07-13_15-38-54.png


那要发送1234567890的话,应该怎么改呢,是在数据centralCharVal这直接改吗,但是我看他好像是0x5a,是怎么回事呢


这个结构里面有数据长度,有放数据的指针,我们的例程就赋值了一个字节,你自己想发送什么,长度设置一下,比如你想发送十个字节,那么长度设置为10,然后将数据填入,我们例程填写的是一个字节的0X5a作为一个简单的例子,你将自己发送的数据填入就可以了。


能否给一个主机模式,功能按下板子上的按键,发送一个字符串到被连接设备的例程。感谢


可以留个邮箱或发送邮件至hy@wch.cn获取。


好的 非常感谢!个人信息保护,已隐藏


请问一下,为什么用主机例程,过一会蓝牙就会断开,然后重新搜索。从机用的是从机例程


断开连接都是会打印reason的,可以根据reason来判断原因,一般常见的有0x08,连接超时,一般就是处理自己的事件事件过长,导致蓝牙交互超时,0x13,一般是自己主动断开连接。


image.png请问这是什么问题,主机的


只有登录才能回复,可以选择微信账号登录