我买的 STM32F103RB 开发板,硬件好使,干别的都可以的。
主时钟 8M,USB D- 用跳线通过1.5k 电阻连 3.3V。
下载 STM 的 U转串 DEMO。
主程序部分:
Set_System();
Set_USBClock();
USB_Interrupts_Config();
USB_Init();
到 USB_Interrupts_Config() 执行中,就进 HardFault_Hander 了。
跟踪进去,是在这:
NVIC_InitStructure.NVIC_IRQChannel = USB_LP_CAN_RX0_IRQChannel;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
这个 USB 中断一设定就死了。
在 IAR 里面修改了 LCF:
ROM 和 RAM 的大小和位置都是对的。
STACK SIZE 0x800, HEAP SIZE 0x400
前辈帮忙看看,哪块没想到的?
此帖出自
小平头技术问答
一周热门 更多>