【沁恒蓝牙mesh】CH58x USB功能开发记录(0)

本文主要介绍基于【沁恒蓝牙mesh】CH58x USB功能,结合CH583m 评估板的软硬件为二次开发作一系列说明

【沁恒蓝牙mesh】CH58x USB功能开发记录(一)

1. CH583M 评估板

CH583 是集成 BLE 无线通讯的 32 位 RISC 微控制器。片上集成低功耗蓝牙 BLE 通讯模块、全速USB 主机和设备控制器及收发器、SPI、4 个串口、ADC、触摸按键检测模块、RTC 等丰富的外设资源

2.USB 引脚与控制器

2.1 硬件部分引脚

TYPE-C 端口 UD-UD+连接到单片机的 U2D-U2D+,对应 PB12 PB13引脚

2.2 软件部分接口

demo 中软件部分使用的是 端口2 做数据的通讯

c 复制代码
app_usb_init();   // 初始化 USB

// 单片机发送数据
void USBSendData( uint8_t *SendBuf, uint8_t l);   // 单片机 发送数据给主机
{
   memcpy(pEP2_IN_DataBuf,SendBuf,l);
   DevEP2_IN_Deal( l );    //  端点2数据处理
}

// 单片机收到数据
void USB_DevTransProcess()
{
	..............................................................................................................................................................................
	   case UIS_TOKEN_OUT | 2 :         /*端点2接收到数据*/
        {
          //printf("usb_rec UIS_TOKEN_OUT |2\n");
          if ( R8_USB_INT_ST & RB_UIS_TOG_OK )// 不同步的数据包将丢弃
          {                       
            printf("usb_rec UIS_TOKEN_OUT |2 ***************** \n");
            len = R8_USB_RX_LEN;
            Ep2DataRxLen = len;
            Ep2DataRxDone = 1;
            for(uint8_t j=0; j<(MAX_PACKET_SIZE/4); j++)
            {
              printf(" 0x%02x",EP2_Databuf[j]);
              ((UINT32 *)Ep2OUTDataBuf)[j] = ((UINT32 *)EP2_Databuf)[j];
              // ((UINT32 *)Ep2OUTDataBuf)[j] = ((UINT32 *)Ep2Buffer)[j];
            }  
            printf(" \r\n");                     
            DevEP2_OUT_Deal( len );
          }
        }
          break;
	......................................................................................................................................................
}
	
相关推荐
凤年徐7 分钟前
【数据结构初阶】顺序表专题
c语言·开发语言·网络·数据结构·c++·经验分享·笔记
梁下轻语的秋缘17 分钟前
每日c/c++题 备战蓝桥杯(修理牛棚 Barn Repair)
c语言·c++·蓝桥杯
梁下轻语的秋缘22 分钟前
每日c/c++题 备战蓝桥杯(洛谷P3382 三分法求极值详解)
c语言·c++·蓝桥杯
woho7788991 小时前
伊吖学C笔记(3、字符、分支结构)
c语言·开发语言·笔记
人类恶.2 小时前
C 语言学习笔记(指针4)
c语言·笔记·学习
dw.z3 小时前
VSCode+EIDE通过KeilC51编译,使VSCode+EIDE“支持”C和ASM混编
c语言·ide·vscode·混编·asm
whoarethenext7 小时前
c/c++的opencv高斯模糊
c语言·c++·图像处理·opencv·图像预处理·高斯模糊
whoarethenext13 小时前
C/C++的OpenCV 进行轮廓提取
c语言·c++·opencv·轮廓提取
阿方.91815 小时前
《C 语言内存函数超详细讲解:从 memcpy 到 memcmp 的原理与实战》
c语言·开发语言·c++
一伦明悦დ16 小时前
嵌入式系统C语言编程常用设计模式---参数表驱动设计
c语言·开发语言·单片机·设计模式