【沁恒蓝牙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;
	......................................................................................................................................................
}
	
相关推荐
想你依然心痛5 小时前
嵌入式C代码规范:MISRA-C 2012核心规则解读——类型安全与未定义行为深度剖析
c语言·安全·代码规范
未来之窗软件服务6 小时前
计算机考试-C语言 应用题—东方仙盟
c语言·开发语言·仙盟创梦ide·东方仙盟·计算机考试
luj_17686 小时前
草酸与烟酸对消化及糖代谢的影响解析
服务器·c语言·开发语言·经验分享·算法
fei_sun6 小时前
【SystemVerilog】SystemVerilog与C语言的接口
c语言·开发语言
十月的皮皮8 小时前
C语言学习学习笔记20260704-中缀表达式求值(双栈法)
c语言·笔记·学习
π同学8 小时前
ESP-IDF+vscode开发ESP32第十七讲——USB设备栈
vscode·esp32·usb
wuminyu9 小时前
markword在高并发场景下变化剖析
java·linux·c语言·jvm·c++
星夜夏空999 小时前
C++学习(1) ——C与C++
c语言·c++·学习
wuyk5559 小时前
25. 函数指针表:用查表替代 switch-case,打造高效可维护的嵌入式状态机
c语言·stm32·单片机·mcu·51单片机
时间的拾荒人19 小时前
C语言字符函数与字符串函数完全指南
c语言·开发语言