USB HID的程序,加了个Boot后,跳到APP后HID不能识别(解决,答案37楼

2019-12-10 18:14发布

本帖最后由 SkyGz 于 2016-8-9 15:56 编辑

一个原基于USB HID的通讯程序, 平时是插电脑上用的
所以就加了个Bootloader, 可以方便通过USB更新程序

能正常启动到Bootloader下,  也能更新程序,  通过JLINK 读整芯片数据回来 一一对比检查, 也没有错
可是 设为APP启动,  就无法识别 USB HID了,      问这是什么问题呢
HID程序 改了起始地址 就不能运行了??????????????

首先我这这USB HID是 NRF24L01的接收器, 上面有一个LED, 有通讯 就快闪, 没通讯就慢闪
经过测试,   能与另一块板子NRF24L01通信,  LED能快闪,  说明已跳到APP程序中运行,  程序也没有卡死现像

已设置向量表偏移了(见图2代码中首行),,,就是唯独USB HID无法识别了.......




如果 丢个 点亮LED的测试程序 是没有问题的

Bootloader 跳到用户APP区的代码
#define         IN_FLASH_STAR                      0x08006000
33.JPG (15.7 KB, 下载次数: 0) 下载附件 2016-8-8 19:53 上传


上2个程序的代码,  各位大大有时间 帮我看看咋回事
zzzzzz.rar (965.85 KB, 下载次数: 83) 2016-8-9 09:39 上传 点击文件名下载附件

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
58条回答
huangqi412
1楼-- · 2019-12-13 18:12
 精彩回答 2  元偷偷看……
huangqi412
2楼-- · 2019-12-13 20:08
把断开语句放到最前面 并且延时一段让电脑断开
bad_fpga
3楼-- · 2019-12-14 00:14
SkyGz 发表于 2016-8-9 13:11
程序开始 就用这改了中断表了
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x7000);

如果你的USB插上或拔出,可能会进入这个函数。。。你看下是不是会进入这个函数?

/*******************************************************************************
* Function Name  : Leave_LowPowerMode
* Description    : Restores system clocks and power while exiting suspend mode
* Input          : None.
* Return         : None.
*******************************************************************************/
void Leave_LowPowerMode(void)
{
  DEVICE_INFO *pInfo = &Device_Info;

  /* Set the device state to the correct state */
  if (pInfo->Current_Configuration != 0)
  {
    /* Device configured */
    bDeviceState = CONFIGURED;
  }
  else
  {
    bDeviceState = ATTACHED;
  }
    /*Enable SystemCoreClock*/
  SystemInit();//这里会重新初始化系统时钟,可以把这句屏蔽就好了。
}


然后地址又默认原来的地址了。。

usb3.jpg (72.84 KB, 下载次数: 0)

下载附件

2016-8-9 13:32 上传

SkyGz
4楼-- · 2019-12-14 04:01
huangqi412 发表于 2016-8-9 13:15
我晕啊 大哥你断开电阻个一秒试试  这都断开立马又挂上

加延时 也是 一样 不行...
SkyGz
5楼-- · 2019-12-14 08:05
bad_fpga 发表于 2016-8-9 13:34
如果你的USB插上或拔出,可能会进入这个函数。。。你看下是不是会进入这个函数?

/******************** ...

已经注释掉 SystemInit了,  依旧
yanghuanchun
6楼-- · 2019-12-14 10:45
 精彩回答 2  元偷偷看……

一周热门 更多>