[战争帖]初出茅庐第一仗 Snail Touch 应用实例一,触摸按键USB HID设备设计开启
前段时间因为AVR32芯片货源的事情,Snail Touch的应用实例做了冷处理,现在芯片已完备,那就按照原计划开始推进Snail Touch应用实例开源。
新的实例会摒弃以前一次性放出Demo的做法,会以开发步骤一步一步展示给大家,以求让大家真正能够把握AVR32以及Snail Touch开发关键。
<font color=red>应用实例一,触摸按键HID设备
Snail Touch作为外部事件输入平台,通过TWI总线(默认,也可为SPI USART 或者译码输出),与应用层通讯
AVR32作为应用层,接受外部事件,作为USB HID与PC连接。
功能描述:
1、控制鼠标左键,右键,滚轮
2、用滑环模拟Joystick来控制鼠标。
开发平台
Snail Gui开发套件。
相关下载
点击此处下载 ourdev_452263.zip(文件大小:5.46M) (原文件名:HID.zip)
大家对这实例有什么好的建议也可提出,欢迎大家一起加入到设计中~~ 占位 占位 占位 好,什么时候出来? 支持呀!!!
AVR32做USB应用!!!,越详细越好!! 支持。顶。。 强力插入前十。 第一个示例代码已经更新。^_^ Have a good time.
主循环核心代码片断int main(void)
{
...
while(1)
{
...
wCounter++;
if (!(wCounter & (((U32)1<<7) - 1))) //每2^7才执行一次Snail_Touch_Task()
{
//! Snail Touch Main Task
if (SNAIL_TOUCH_SUCCESS == Snail_Touch_Task()) //该任务用来维持基本的Touch通讯
{
g_bIfGetTouchState = TRUE;
}
}
}
}
<font color=red>HID 鼠标设备消息处理函数<font color=brown>void device_mouse_hid_task(void)
{
SNAIL_TOUCH_STATUS Status = Snail_Touch_Get_Status();
...
extern Bool g_bIfGetTouchState;
if (FALSE == g_bIfGetTouchState)
{
return ;
}
else
{
g_bIfGetTouchState = FALSE;
}
{
U8 u8_report_buttons = 0;
S8 Slider = 0;
S8 x,y;
double Temp;
U16 iAngle;
if (Status.Status.Sensor.KeyA)
{
u8_report_buttons |= 2;
}
if (Status.Status.Sensor.KeyB)
{
u8_report_buttons |= 1;
}
if (Status.Status.Sensor.Slider)
{
if (Status.SliderValue > 128)
{
Slider = 1;
}
else
{
Slider = -1;
}
}
if (Status.Status.Sensor.Rotor)
{
iAngle = Snail_Touch_Get_Rotor_Angle_Degree();
Temp = ((double)iAngle * (3.1415926535/ 180.0));
x = 10 * cos(Temp);
y = -10 * sin(Temp);
}
else
{
x = 0;
y = 0;
}
while ( !Is_usb_in_ready(EP_HID_MOUSE_IN) );
{
Usb_reset_endpoint_fifo_access(EP_HID_MOUSE_IN);
//! Write report
Usb_write_endpoint_data(EP_HID_MOUSE_IN, 8, u8_report_buttons);
Usb_write_endpoint_data(EP_HID_MOUSE_IN, 8, x);
Usb_write_endpoint_data(EP_HID_MOUSE_IN, 8, y);
Usb_write_endpoint_data(EP_HID_MOUSE_IN, 8, Slider);
Usb_ack_in_ready_send(EP_HID_MOUSE_IN);
}
}
...
} 战争帖是什么意思? 自己跟自己过不去……就是自己跟自己搞阶级斗争……要打_倒敌人,先要打_倒自己…… 有Snail GUI平台的网友可以试下作为鼠标的效果鸟~ 为什么我对AVR32还是没兴趣呢~ For you are not touched. touch能便宜点就好鸟--------- Mark 【14楼】 tianyuwei
touch能便宜点就好鸟---------
太同意了,能便宜点更多的人能一起touched 好东东...我顶...!!! 好东西,顶 支持!
AVR32做USB应用! 占位先 等待ing 能否上个鼠标的视频看看? MARK 触摸Hid不错 学习一下.... 赞一个~~
页:
[1]