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条回答
SkyGz
1楼-- · 2019-12-13 07:22
shuangbang 发表于 2016-8-9 07:44
仔细查一查,没有上代码,说不清楚;这个东西很成熟 了,都是细节,我刚刚还帮坛友写过一个; ...

程序已上, 在楼主位...
huangqi412
2楼-- · 2019-12-13 07:56
 精彩回答 2  元偷偷看……
fengyunyu
3楼-- · 2019-12-13 08:42
bootloader、app都支持usb,看来是如17楼所说的重新枚举问题
SkyGz
4楼-- · 2019-12-13 09:10
huangqi412 发表于 2016-8-9 09:51
那就是我第一个回帖的意思了。。  你断不开io重联当然不行   果断飞线

现 飞线 上拉电阻至PC15,

程序里 也改为PC15
#define USB_DISCONNECT                      GPIOC
#define USB_DISCONNECT_PIN                  GPIO_Pin_15
#define RCC_APB2Periph_GPIO_DISCONNECT      RCC_APB2Periph_GPIOC

实始化

    NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x7000);
    Set_System();
    USB_Interrupts_Config();
    Set_USBClock();
    USB_Init();
    USB_Cable_Config(DISABLE);
    USB_Cable_Config(ENABLE);

问题依旧, 无法识别USB
bad_fpga
5楼-- · 2019-12-13 13:09

usb.jpg (144.7 KB, 下载次数: 0)

下载附件

这里改一下试试

2016-8-9 12:50 上传


看图把中断地址改一下
SkyGz
6楼-- · 2019-12-13 13:41
bad_fpga 发表于 2016-8-9 12:51
看图把中断地址改一下

程序开始 就用这改了中断表了
NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x7000);

你这是直接改system_stm32f10x.c里面的,   实际上 和我上面的是一样的

一周热门 更多>