在线串口助手配置文件之《CH9141K》

前言

  • 基于 串口助手的CH9141K配置文件
  • 保存 CH9141K.js 内容到本地, 串口助手中选择协议,打开该文件,即可进行基础配置
界面

基本概述

CH9141K是沁恒微电子推出的一款低功耗蓝牙(BLE4.2)串口透传芯片,支持主/从机模式和广播模式,主要用于实现蓝牙与串口数据的双向透明传输。其核心特点包括:

  • 封装形式:ESSOP10(紧凑型封装,适合小型化设计)。
  • 工作电压:2.0V~3.6V(典型3.3V),支持低功耗设计(待机电流<1μA)。
  • 通信接口:UART串口(波特率1200bps~1Mbps),集成MODEM流控信号(CTS/RTS)。
  • 附加功能:提供GPIO控制、ADC采集、蓝牙名称/厂商信息配置等。

主要功能与模式

  • 透传模式:无需二次开发,直接通过串口或蓝牙指令配置参数(如AT指令)。
  • 多模式支持:
    • 从机模式:可被手机/PC等蓝牙主机发现并连接。
    • 主机模式:主动扫描并连接其他蓝牙设备。
    • 广播模式:单向发送数据(如传感器数据广播)。
  • 虚拟串口驱动:兼容Windows/Linux/Android/iOS系统,支持串口调试工具直接使用。

CH9141K.JS文件示例

示例文件CH9141K.js内容如下


function serialize(str) {

    // 检查是否为十六进制格式 [xx xx xx]
    if (str.match(/^\[([\da-fA-F]{2}\s*)+\]$/)) {
        // 移除[]并分割成数组
        const hexValues = str.slice(1, -1).trim().split(/\s+/);
        // 转换为Uint8Array
        return new Uint8Array(hexValues.map(hex => parseInt(hex, 16)));
    }

    // 普通字符串处理
    str = str.replace(/\\r/g, '\r')
        .replace(/\\n/g, '\n')
        .replace(/\\t/g, '\t')
        .replace(/\\f/g, '\f')
        .replace(/\\b/g, '\b')
        .replace(/\\v/g, '\v');

    const data = new TextEncoder('gbk').encode(str);
    return data;
}

function deserialize(array) {
    let len = array.findIndex(item => item == 10);
    len += len >= 0 ? 1 : 0;
    return len > 0 ? len : array.length;
}

function arrayShow(array) {

    let log = '';
    let logTip = '[' + array.length + '] ';

    console.log(array);

    // 生成HEX字符串
    array.forEach(hex => {
        logTip += hex.toString(16).padStart(2, '0') + ' ';
    });

    // 创建一个新的Uint8Array来存储数据
    const data = new Uint8Array(array.slice(0, array.length + 1));

    try {
        // 使用TextDecoder解码Uint8Array
        log = new TextDecoder().decode(data);
    } catch (error) {
        console.error('解码错误:', error);
        log = '';
    }

    return {
        log: log,
        logTip: logTip,
    };
}


async function custom(port) {
	alert("自定义执行例子,发送一个'hello'")
	const writer = port.writable.getWriter();

            try {
                await writer.write(serialize("hello"));

                // return true;
            } finally {
                writer.releaseLock();
            }

}


function customJson() {

    return [
        {
            name: "进入 AT 配置",
            str:"AT...\\r\\n"
        },
        {
             name: "复位芯片",
            str:"AT+RESET\\r\\n"
        },
        {
             name: "获取芯片版本号",
            str:"AT+VER\\r\\n"
        },
        {
             name: "查询开机语",
            str:"AT+HELLO?\\r\\n"
        },
        {
             name: "设置开机语123",
            str:"AT+HELLO=123\\r\\n"
        },
        {
             name: "重置所有参数",
            str:"AT+RELOAD\\r\\n"
        },
        {
             name: "显示芯片信息",
            str:"AT+SHOW\\r\\n"
        },

        {
             name: "保存当前参数",
            str:"AT+SAVE\\r\\n"
        },
        {
             name: "退出 AT 配置",
            str:"AT+EXIT\\r\\n"
        },
        {
             name: "查询串口参数",
            str:"AT+UART?\\r\\n"
        },
        {
             name: "设置串口参数115200,8,n,1",
            str:"AT+UART=115200,8,1,0,50\\r\\n"
        },
        {
             name: "查询本地 MAC 地址",
            str:"AT+MAC?\\r\\n"
        },
        {
             name: "查询发射功率",
            str:"AT+TPL?\\r\\n"
        },
	//设置蓝牙发射功率,x 支持的参数:0(0DB)、1(1DB)、2(2DB)、3(3DB)、4(-3DB)、5(-8DB)、6(-14DB)、7(-20DB)
        {
             name: "设置发射功率(3DB)",
            str:"AT+TPL=3\\r\\n"
        },
        {
             name: "设置发射功率(0DB)",
            str:"AT+TPL=0\\r\\n"
        },
        {
             name: "设置发射功率(-3DB)",
            str:"AT+TPL=4\\r\\n"
        },

//广播模式		主机模式		从机模式
//状态码 含义	状态码 含义 	状态码 含义
//00 未初始化 	00 未初始化 	00 未初始化
//01 设备初始化完成 	01 扫描 		01 设备初始化完成
//02 广播 		02 连接中 		02 广播
//		03 连接成功 	03 准备广播状态
//		04 断开连接中 	04 连接超时
//				05 连接成功
//07 错误 				07 错误
        {
             name: "查询蓝牙状态",
            str:"AT+BLESTA?\\r\\n"
        },
        {
             name: "查询蓝牙工作模式",
            str:"AT+BLEMODE?\\r\\n"
        },
        {
             name: "设置蓝牙工作模式(广播)",
            str:"AT+BLEMODE=0\\r\\n"
        },
        {
             name: "设置蓝牙工作模式(主机)",
            str:"AT+BLEMODE=1\\r\\n"
        },
        {
             name: "设置蓝牙工作模式(从机)",
            str:"AT+BLEMODE=2\\r\\n"
        },
        {
             name: "获取当前连接 MAC 地址",
            str:"AT+CCADD?\\r\\n"
        },
        {
             name: "主机扫描",
            str:"AT+SCAN=ON\\r\\n"
        },
        {
             name: "查询主机默认连接",
            str:"AT+CONADD?\\r\\n"
        },
       {
             name: "新增主机默认连接",
            str:"AT+CONADD=05:DF:39:4C:99:B4,123456\\r\\n"
        },
       {
             name: "清空主机默认连接",
            str:"AT+CLRCONADD\\r\\n"
        },
       {
             name: "查询从机密码",
            str:"AT+PASS?\\r\\n"
        }

    ];

}

站内工具合集

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值