|
请问群里有做过USB3300高速通讯的大神吗,最近自己做了一块板子,USB通讯调了很久没有调通,麻烦各位帮我分析一下问题出在哪儿,附件上传了工程文件,以下是主程序:
#include"stm32f4xx.h"
#include "stdio.h"
#include "led.h"
#include "delay.h"
#include "torque.h"
#include "usart.h"
#include "pwm.h"
#include "timer.h"
#include "encoder.h"
#include "usbd_cdc_core.h"
#include "usbd_usr.h"
#include "usbd_desc.h"
//-------------------------- Variable ---------------------------//
extern uint8_t USB_StatusDataSended;
extern uint32_t USB_ReceivedCount;
extern uint8_t USB_Rx_Buffer[];
extern uint8_t State;
__ALIGN_BEGIN USB_OTG_CORE_HANDLE USB_OTG_dev __ALIGN_END;
//--------------------- Function Prototype ----------------------//
#ifdef USB_OTG_HS_INTERNAL_DMA_ENABLED
#if defined ( __ICCARM__ ) /*!< IAR Compiler */
#pragma data_alignment=4
#endif
#endif /* USB_OTG_HS_INTERNAL_DMA_ENABLED */
__ALIGN_BEGIN USB_OTG_CORE_HANDLE USB_OTG_dev __ALIGN_END;
int TIM3_Capture_STA = 0;
u32 CNT1,CNT2;
float Tor;
extern u8 TIM5CH1_CAPTURE_STA; //输入捕获状态
extern u32 TIM5CH1_CAPTURE_VAL; //输入捕获值
int main(void)
{
Sychronous_HSE_SetSysClock(25, 360, 2, 8);
LED_Init();
uart_init(115200);
delay_init(180); //初始化延时函数
// TIM14_PWM_Init(100-1,90-1);
// TIM3_Counter_Init(0xffff,9-1);
// Encoder_TIM_init();
USBD_Init(&USB_OTG_dev,
USB_OTG_HS_CORE_ID,
&USR_desc,
&USBD_CDC_cb,
&USR_cb);
while(State==0);
while(1)
{
//printf("111%.2f\r\n",22);
//TIM3_Get_Torque();
//USART_SendData(USART1, TIM3_Capture_STA);
printf("Program is running\r\n");
// GPIO_ResetBits(GPIOD,GPIO_Pin_2); //LED0对应引脚GPIOF.9拉低,亮 等同LED0=0;
GPIO_ResetBits(GPIOD,GPIO_Pin_3); //LED1对应引脚GPIOF.10拉高,灭 等同LED1=1;
delay_ms(500); //延时300ms
//delay_us(1);
//GPIO_SetBits(GPIOD,GPIO_Pin_2); //LED0对应引脚GPIOF.0拉高,灭 等同LED0=1;
GPIO_SetBits(GPIOD,GPIO_Pin_3); //LED1对应引脚GPIOF.10拉低,亮 等同LED1=0;
delay_ms(500);
//TIM4_Get_Speed();
}
}
下载之后debug电脑驱动管理出现未识别设备,debug 程序死在了while(State==0);,以下是电路图,请各位大佬帮帮忙。
|
|