网友 zn2857 问:标准hid设备,扫码枪,连接starter kit

No replies
技术编辑archive1
技术编辑archive1 的头像
Offline
Joined: 2009-11-25

我用 harmony中,hid_basic_mouse这个例子,更改了些代码,

代码:
const USB_HOST_TPL_ENTRY USBTPList[ 1 ] =
{

TPL_INTERFACE_CLASS_SUBCLASS_PROTOCOL(0x03, 0x01, 0x01, &hidInitData, USB_HOST_HID_INTERFACE) ,

};

代码:
void _USB_HOST_HID_MOUSE_EventHandler
(
USB_HOST_HID_OBJ_HANDLE handle,
USB_HOST_HID_EVENT event,
void * eventData
)
{
PLIB_PORTS_PinToggle(PORTS_ID_0, PORT_CHANNEL_H, BSP_LED_1 );
}

void _USB_HOST_HID_MOUSE_Task(USB_HOST_HID_OBJ_HANDLE handle)
{
PLIB_PORTS_PinToggle(PORTS_ID_0, PORT_CHANNEL_H, BSP_LED_2 );
}

这样改以后 ,把程序烧录到开发板中,led2就亮了,每当用扫码枪扫条形码成功时,led1会被点亮一次。

我自己新建了一个harmony工程,按照例子的mhc部分配置(没有graphics那部分),配置完生成代码,烧录到开发板上,扫码枪可以工作(可以扫码,扫完后有正常提示音),但是led灯都不亮。

除非我直接使用hid_basic_mouse中的mhc配置文件,来生成代码,才可以达到前面修改例子的效果,点亮led

我找了几天都找不到哪里决定了PLIB_PORTS_PinToggle这个函数是否执行

因为我认为如果灯不点亮,就代表那段代码(void _USB_HOST_HID_MOUSE_EventHandler和_USB_HOST_HID_MOUSE_Task)没有执行。

哪位能帮忙看一下,实在是找不到原因了

挖掘知识的宝库!

--电子创新网--
粤ICP备12070055号