
用的stm32cubemx 版本是 6.4.0, 配置了stm32h743的USB host ,想往外发数据,所以调用了 USBH_CDC_Transmit(),但是在这个函数里运行到第一个if下一步直接就跳到 HardFault_Handler了,不知道为什么 USBH_StatusTypeDef USBH_CDC_Transmit(USBH_HandleTypeDef *phost, uint8_t *pbuff, uint32_t length) { USBH_StatusTypeDef Status = USBH_BUSY; CDC_HandleTypeDef *CDC_Handle = (CDC_HandleTypeDef *) phost->pActiveClass->pData; if ((CDC_Handle->state == CDC_IDLE_STATE) || (CDC_Handle->state == CDC_TRANSFER_DATA)) { CDC_Handle->pTxData = pbuff; CDC_Handle->TxDataLength = length; CDC_Handle->state = CDC_TRANSFER_DATA; CDC_Handle->data_tx_state = CDC_SEND_DATA; Status = USBH_OK; #if (USBH_USE_OS == 1U) phost->os_msg = (uint32_t)USBH_CLASS_EVENT; #if (osCMSIS < 0x20000U) (void)osMessagePut(phost->os_event, phost->os_msg, 0U); #else (void)osMessageQueuePut(phost->os_event, &phost->os_msg, 0U, NULL); #endif #endif } return Status; } |
最近在学习使用VS code软件+MX配合开发
stm32h750xbh6程序运行在外部qspi flash中为什么lwip读取的数据和发送方的不一样?
STM32H743+SDRAM
STM32H7+SAI+DMA双缓冲配置失败.
STM32H755生成的stm32CubeIde的TouchGFX designer生成代码出错。
STM32H755的TouchGFX不能选择M7内核
STM32F407读写U盘出现程序卡死问题
STM32H755的TouchGFX如何使能Cortex-M7
FW_H7 V1.12.1-HAL库DMA双缓冲配置
手机端哪里可以查草稿
hardfault的话往往可以从SCB错误状态寄存器看到些提示,比方对齐问题啊、除以0问题、非法访问等等。