amobbs.com 阿莫电子技术论坛
标题:
[战争帖]初出茅庐第一仗 Snail Touch 应用实例一,触摸按键USB HID设备设计开启
[打印本页]
作者:
kingofkings
时间:
2009-6-4 09:45
标题:
[战争帖]初出茅庐第一仗 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)
大家对这实例有什么好的建议也可提出,欢迎大家一起加入到设计中~~
作者:
kingofkings
时间:
2009-6-4 09:46
占位
作者:
kingofkings
时间:
2009-6-4 09:46
占位
作者:
kingofkings
时间:
2009-6-4 09:46
占位
作者:
wenming
时间:
2009-6-4 09:47
好,什么时候出来?
作者:
ivws
时间:
2009-6-4 09:51
支持呀!!!
AVR32做USB应用!!!,越详细越好!!
作者:
armok
时间:
2009-6-4 09:52
提示:
作者被禁止或删除 内容自动屏蔽
作者:
thriller
时间:
2009-6-4 10:22
强力插入前十。
作者:
Gorgon_Meducer
时间:
2009-6-9 23:03
第一个示例代码已经更新。^_^ 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);
}
}
...
}
作者:
armok
时间:
2009-6-9 23:08
提示:
作者被禁止或删除 内容自动屏蔽
作者:
Gorgon_Meducer
时间:
2009-6-9 23:09
自己跟自己过不去……就是自己跟自己搞阶级斗争……要打_倒敌人,先要打_倒自己……
作者:
kingofkings
时间:
2009-6-10 00:04
有Snail GUI平台的网友可以试下作为鼠标的效果鸟~
作者:
bbandpp
时间:
2009-6-10 08:39
为什么我对AVR32还是没兴趣呢~
作者:
Gorgon_Meducer
时间:
2009-6-10 12:41
For you are not touched.
作者:
tianyuwei
时间:
2009-6-10 17:25
touch能便宜点就好鸟---------
作者:
007szj
时间:
2009-6-12 17:01
Mark
作者:
lisn3188
时间:
2009-6-23 13:03
【14楼】 tianyuwei
touch能便宜点就好鸟---------
太同意了,能便宜点更多的人能一起touched
作者:
ivws
时间:
2009-6-23 21:16
好东东...我顶...!!!
作者:
psocfans
时间:
2009-8-14 09:21
好东西,顶
作者:
avr-stm32
时间:
2009-8-14 10:04
支持!
AVR32做USB应用!
作者:
tomy
时间:
2009-9-11 18:12
占位先
作者:
lantian0099
时间:
2010-3-17 15:20
等待ing
作者:
luojinwen
时间:
2010-5-17 17:20
能否上个鼠标的视频看看?
作者:
rongjunqiang11
时间:
2011-7-1 11:40
MARK
作者:
hncjs
时间:
2013-2-20 20:25
触摸Hid不错
作者:
jz701209李
时间:
2013-2-21 18:06
学习一下....
作者:
a515509429
时间:
2014-12-25 08:48
赞一个~~
欢迎光临 amobbs.com 阿莫电子技术论坛 (https://www.amobbs.com/)
Powered by Discuz! X3.4