
stm32支持canfd和dma结合使用吗
NUCLEO-F401RE板卡,连接USB,在KEIL下可以找到ST-LINK仿真器,也可以下载代码。在电脑上看不到NODE_F401RE的磁盘,有知道是什么原因?
程序进入HardFault_Handler求解
STM32CUBEIDE
STM32CubeIDE1.16.1创建新的STM32工程之后没有自动弹出引脚配置界面
This example describes how to configure the FMC controller to access the SDRAM memory in low power mode
STM32 CubeIDE的快捷键问题
STM32407 使用串口闲时中断+DMA方式接收最大接收字节是多少
USB_CDC_HOST 标准库里边USBH_DeAllocate_AllChannel()函数的疑问?
CUBEMX界面汉化有吗?
谢谢
我也试过主动发起接收,但是不知道应该在哪里加这个机制好点
还有一个问题,主机并不提前知道设备端发过来的字节数,主动请求多少数据呢?
是否cdc 的vcp类已经有相关的机制,求指导
你要看看相应协议。
HOST找device要数据,device有就给,没有就先拒绝。HOST会不停找你要的,至于你给多少数据过去,它会数据包的情况来判断,比方收到一包不满的数据或零数据包它就视为此次传输结束。
static uint16_t VCP_DataRx (uint8_t epnum,uint8_t* Buf, uint32_t Len)
{
switch(epnum+0x80)
{
case CDC_IN_EP1:
USART_rx(Buf, Len);
break;
default:
break;
}
return USBD_OK;
}
我们在sof中每1ms向从机请求一次从机数据,
但主机并不会提前知道从机每一个包会发多少数据过来,
我这个USBH_CDC_Receive函数应该指定多少的长度?
USBH_StatusTypeDef USBH_CDC_Receive(USBH_HandleTypeDef *phost,
uint8_t *pbuff,
uint32_t length);
还有另外一个问题,为什么PC端的vcp主机(窗口调试助手)没有定时轮询从机(用Bus Hound抓数据观察),但也能像串口中断那样收到从机的数据??请指导
这个要先主动轮询从机,从机回复数据之后才会进callback,
主机不轮询从机的话,尽管从机不断往上发数据,主机也不会进这个callback
不知道有没有相关的host vcp例程参考
现在在这里每1ms,向从设备请求一次数据
/**
* @brief SOF callback.
* @param hhcd: HCD handle
* @retval None
*/
void HAL_HCD_SOF_Callback(HCD_HandleTypeDef *hhcd)
{
USBH_LL_IncTimer(hhcd->pData);
USBH_CDC_Receive(&hUsbHostFS, USBHTxBuf, 64);
}
但是请求数据的长度改如何合适?主机提前不会知道从机会发多少数据
USBH_StatusTypeDef USBH_CDC_Receive(USBH_HandleTypeDef *phost,
uint8_t *pbuff,
uint32_t length);
另外,pc端的host 窗口调试助手好像没有主动轮询设备也能及时收到从机主动发的数据(用Bus Hound抓取没看到轮询的包),为什么呢?是不是CDC vcp类有什么机制可以做到这样?
请问您这个代码在哪添加?系统如何通知调用到这里的?
我这个是标准库下的操作。我这个操作和中断差不多,是自己调用的,不需要我进行操作。