【沁恒蓝牙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;
	......................................................................................................................................................
}
	
相关推荐
vx-程序开发33 分钟前
springboot在线装修管理系统-计算机毕业设计源码56278
java·c语言·spring boot·python·spring·django·php
_饭团1 小时前
字符串函数全解析:12 种核心函数的使用与底层模拟实现
c语言·开发语言·学习·考研·面试·蓝桥杯
呆瑜nuage1 小时前
【复习系列】高频C/C++库函数手写实现指南与自定义类型的理解指南
c语言·c++·面试
AI+程序员在路上2 小时前
CAN 总线与 Linux SocketCAN C 语言测试程序
linux·c语言·网络
浅念-2 小时前
C ++ 智能指针
c语言·开发语言·数据结构·c++·经验分享·笔记·算法
计算机安禾3 小时前
【C语言程序设计】第36篇:二进制文件的读写
c语言·开发语言·c++·算法·github·visual studio code·visual studio
爱编码的小八嘎3 小时前
C语言完美演绎4-9
c语言
busideyang4 小时前
STM32中__weak(弱定义)函数核心总结
c语言·stm32·单片机·嵌入式硬件·嵌入式
大志出奇迹4 小时前
FreeRTOS中创建任务的顺序是否会影响任务运行的顺序?【面试重点】
c语言·rtos
2501_918126915 小时前
学习所有用c语言定义stm32的语句
c语言·stm32·嵌入式硬件·学习·个人开发