首页 > 其他分享 >CH58x三模模组方案(CH555主控)

CH58x三模模组方案(CH555主控)

时间:2023-08-04 10:57:50浏览次数:35  
标签:const 模组 CMD 0x00 UINT8 CH58x 主控 CH555 0x55

前言:

通用三模键盘&三模鼠标(三模模组)通讯协议可以参考该博客,提供了串口发送命令帧的具体详解。本博客基于CH582通讯协议基础上增加CH555作为主控,通过串口发送命令帧控制CH582。

通过CH555控制CH582的优点:CH582本身只有键扫/三模标准键盘等功能。如需要实现灯光效果,则可以通过CH555实现。

目前CH58x三模模组只有串口可以控制,因此CH555也通过串口发送命令帧控制。

一、命令帧数据

const UINT8 CMD_free[] = 		{0x55, 0x40, 0x00, 0x95};		//用于MCU使用自带USB功能时,将模组切换到空闲状态

const UINT8 CMD_usb[] = 		{0x55, 0x41, 0x00, 0x96};		//模组切换到USB模式
const UINT8 CMD_rf[] = 			{0x55, 0x42, 0x00, 0x97};		//模组切换到2.4G模式

const UINT8 CMD_ble_1[] = 		{0x55, 0x43, 0x00, 0x98};		//模组切换到蓝牙设备1
const UINT8 CMD_ble_2[] = 		{0x55, 0x44, 0x00, 0x99};		//模组切换到蓝牙设备2
const UINT8 CMD_pair[] = 		{0x55, 0x48, 0x00, 0x9d};		//模组在2.4G或蓝牙模式时,进入配对状态

const UINT8 CMD_kbd_a[] =    {0x55, 0x81, 0x08, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x1e};    //按键A按下(不释放)
const UINT8 CMD_capslock[] = {0x55, 0x81, 0x08, 0x00, 0x00, 0x00, 0x39, 0x00, 0x00, 0x00, 0x00, 0x17};    //切换大小写Capslock
const UINT8 CMD_release[] =  {0x55, 0x81, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde};    //按键释放

const UINT8 CMD_adc[] = 		{0x55, 0x4a, 0x00, 0x9f};					//用于客户使用模组采集电量,返回电压值
const UINT8 CMD_reload[] = 		{0x55, 0xe0, 0x00, 0x35};					//恢复模组出厂设置
const UINT8 CMD_dongle_reload[] = 	{0x55, 0xe1, 0x00, 0x36};				//恢复Dongle出厂设置
const UINT8 CMD_le[] = 			{0x55, 0xc8, 0x02, 0x0f, 0x00, 0x2e};		//例如5s后进入低功耗,则数据为0x05 0x00,
																																			//默认连接状态中5s无数据进入低功耗,BLE和2.4G模式配对1分钟未配对完成进入低功耗
const UINT8 CMD_sleep_disable[] = {0x55, 0xcb, 0x01, 0x00, 0x21};			 //不允许模组进入睡眠模式
const UINT8 CMD_sleep_enable[] =  {0x55, 0xcb, 0x01, 0x01, 0x22};			 //允许模组睡眠模式

const UINT8 CMD_response[] = 	{0x55, 0xc6, 0x01, 0x00, 0x1c};				 //配置为0x00关闭应答,立即生效
																																			//配置为0x01开启应答,上报信息如果没有收到应答,将会间隔1.875ms重传数据,最多重传3次

const UINT8 CMD_rf_trans[] = 	{0x55, 0x88, 0x12, 0x00, 0x00, 0x00, 0x00    //透传给USB或dongle上位机,此命令与上报均无应答,USB或dongle转发给上位机的数据只包含数据内容
							   , 0x00, 0x00, 0x00, 0x00
							   , 0x00, 0x00, 0x00, 0x00
							   , 0x00, 0x00, 0x00, 0x00
							   , 0x00, 0x00
							   , 0xef};

二、串口发送

CH555官方例程中只展示了单个字节发送,发送数组只需要获取数组长度并循环发送即可。

void UART1_SendStr( UINT8 *str, UINT8 len )   
{
    while( len ){
        CH555UART1SendByte( *str++ );
		len--;
    }
}

void main(void)
{
	CfgFsys();
	mDelaymS(20);
	mInitSTDIO();                                                             /* 为了让计算机通过串口监控演示过程 */
	CH555UART0Alter();                                                         //串口0引脚映射

	CH555UART1Init();                                                          //串口1初始化
	CH555UART1Alter();                                                         //串口1引脚映射   

	UART1_SendStr(CMD_free, (UINT16)sizeof(CMD_free));                         //串口1发送数组
	
	while(1);
}

三、具体效果展示

 

标签:const,模组,CMD,0x00,UINT8,CH58x,主控,CH555,0x55
From: https://www.cnblogs.com/gscw/p/17605306.html

相关文章

  • CH57x/CH58xUART3收数据并校验修改MAC地址
    前言:UART1中断例程中达到触发点或超时接收串口数据会立马发送出去。本博客实现的是接收数据保存在数组中,同时校验数据内容是否为修改MAC帧。接收数据不需要在UART_II_RECV_RDY中接收数据,可以都在UART_II_RECV_TOUT中收数据,直接读取RBR寄存器即可。程序参考: 基于BLE_UART例程......
  • CH57x/CH58x堆栈
    前言: 概念:inta=0;//全局初始化区域char*p1;//全局未初始化区域main(){staticintc=0;//全局(静态)初始化区intb;//栈chars[]="abc";//栈char*p2;//栈char*p3="123456";//"1234......
  • ch57x\ch58x开启仿真
    本次使用的平台是MounRiverStudio,使用的是WCH的CH582m与WCH-LinkE仿真之前确保LinkE处在Risc-V模式下 空闲时蓝灯常灭Step1:首先通过ISP工具开启两线仿真; Step2:点击下载选项会出来一个Debug的配置紧接着会出现再点击仿真开关即可。如果仍无法进入仿真:点击DebugCon......
  • CH58x\CH57x硬件SPI操作外部flash学习记录
    官方提供的58x的spi例程,spi主机模式下的发送方式有三种单字节发送,FIFO连续发送,DMA连续发送。本文分别对SPI0主机模式下三种发送模式进行使用。本次使用的是CH582m做为主机,W25Q64FV作为从机。一、单字节发送本次调试中实现对W25Q64FVflas进行读id,擦除,写入,读取。在进行主要操作......
  • 量产20KW三相三电平光伏逆变器项目 主控平台:TMS320F28335+T
    量产20KW三相三电平光伏逆变器项目主控平台:TMS320F28335+TM320F28035逆变拓扑:双路光伏BOOST+三相三电平逆变功能:并网发电,双路高精度MPPT;描述:本方案适用于户用光伏系统,本方案主控采用主控TMS320F28335+TM320F28035ID:6168616129047088......
  • 20KW三相三电平光伏逆变器 三相锁相 主控平台:TMS 20KW三相三电平光伏逆变器 三相
    20KW三相三电平光伏逆变器三相锁相主控平台:TMS20KW三相三电平光伏逆变器三相锁相主控平台:TMS320F28335+TM320F28035逆变拓扑:双路光伏BOOST+三相三电平逆变功能:并网发电,双路高精度MPPT;描述:本方案适用于户用光伏系统,售出不退,先咨询清楚本方案主控采用主控TMS320F28335+TM320......
  • 自主控制系统分配:包含一个MATLAB/Simulink仿真,用于超音速导弹系统的飞行动态仿真和鲁
    自主控制系统分配:包含一个MATLAB/Simulink仿真,用于超音速导弹系统的飞行动态仿真和鲁棒控制ID:39200673212065685......
  • 三菱FX3U三轴标准程序,包含轴点动,回零,相对与绝对定位,整个项目的模块都有:主控程序,复位
    三菱FX3U三轴标准程序,包含轴点动,回零,相对与绝对定位,整个项目的模块都有:主控程序,复位程序,手动,生产计数,只要弄明白这个程序,就可以非常了解整个项目的程序如何去编写,从哪里开始下手,可提供程序问题解答,程序流程清晰明了;程序还包含与机器人I/O通讯模块程序,子程序调用ID:86196679261578......
  • 三菱FX5U七轴标准程序,包含轴点动,回零,相对与绝对定位,整个项目的模块都有:主控程序,复位
    三菱FX5U七轴标准程序,包含轴点动,回零,相对与绝对定位,整个项目的模块都有:主控程序,复位程序,手动,生产计数,只要弄明白这个程序,就可以非常了解整个项目的程序如何去编写,从哪里开始下手,可提供程序问题解答,程序流程清晰明了;包含有触摸屏程序ID:3419667927305003......
  • 三菱FX5U七轴标准程序,包含轴点动,回零,相对与绝对定位,整个项目的模块都有:主控程序,复位
    三菱FX5U七轴标准程序,包含轴点动,回零,相对与绝对定位,整个项目的模块都有:主控程序,复位程序,手动,生产计数,只要弄明白这个程序,就可以非常了解整个项目的程序如何去编写,从哪里开始下手,可提供程序问题解答,程序流程清晰明了;包含有触摸屏程序ID:4319665212016393......