【沁恒蓝牙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;
	......................................................................................................................................................
}
	
相关推荐
朔北之忘 Clancy3 分钟前
2020 年 6 月青少年软编等考 C 语言二级真题解析
c语言·开发语言·c++·学习·青少年编程·题解·尺取法
HABuo21 分钟前
【Linux进程(五)】进程地址空间深入剖析-->虚拟地址、物理地址、逻辑地址的区分
linux·运维·服务器·c语言·c++·后端·centos
AuroraWanderll41 分钟前
类和对象(六)--友元、内部类与再次理解类和对象
c语言·数据结构·c++·算法·stl
无限进步_1 小时前
【C语言&数据结构】另一棵树的子树:递归思维的双重奏
c语言·开发语言·数据结构·c++·算法·github·visual studio
不爱吃糖的程序媛1 小时前
OpenHarmony跨端生态适配全指南|Flutter/RN/三方库/C/C++/仓颉 鸿蒙化最佳实践
c语言·c++·flutter
码农爱学习1 小时前
C语言结构体对齐是怎么计算
java·c语言·数据库
mangge081 小时前
Arduino IDE开发ESP8266的离线配置
c语言
黎雁·泠崖1 小时前
吃透Java操作符入门:分类差异+进制转换+原反补码 核心前置知识(Java&C对比)
java·c语言·开发语言
你怎么知道我是队长2 小时前
C语言---预处理器
c语言·开发语言·chrome
范纹杉想快点毕业2 小时前
欧几里得算法与扩展欧几里得算法,C语言编程实现(零基础全解析)
运维·c语言·单片机·嵌入式硬件·算法