【沁恒蓝牙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;
	......................................................................................................................................................
}
	
相关推荐
是阿建吖!9 小时前
【Linux】信号
android·linux·c语言·c++
三品吉他手会点灯10 小时前
C语言学习笔记 - 43.运算符与表达式 - 运算符1 - 运算符的分类和简单介绍
c语言·笔记·学习·算法
wuminyu12 小时前
Java锁机制之轻量级锁判断与尝试逻辑源码剖析
java·linux·c语言·jvm·c++
老H科研技术15 小时前
第 01 篇:MCP 概念与架构 —— AI 世界的“USB-C“
c语言·人工智能·chatgpt·架构·aigc·agi
社交怪人16 小时前
【判断奇偶】信息学奥赛一本通C语言解法(题号1041)
c语言
Jun62617 小时前
QT(1)-C/C++库生成和调用
c语言·开发语言·c++·qt
努力努力再努力wz18 小时前
【Qt入门系列】一文掌握 Qt 常用显示类控件:QLCDNumber、QProgressBar 与 QCalendarWidget
c语言·开发语言·数据结构·数据库·c++·git·qt
C++ 老炮儿的技术栈18 小时前
如何利用 OpenCV 将图像显示在对话框窗口上
c语言·c++·人工智能·qt·opencv·计算机视觉·github
yu859395819 小时前
适合单片机和嵌入式系统的 C 语言 FIR 滤波器实现
c语言·单片机·mongodb
luj_176820 小时前
马克思的跨学科学术体系
c语言·开发语言·c++·经验分享·算法