Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

dzÎölinuxϼüÅÌÉ豸¹¤×÷ºÍ×¢²áÁ÷³Ì

ÀÁµÃдÁË£¬ ת¼¸Æª¹ýÀ´£º
Ô­ÌûµØÖ·£º
http://blog.chinaunix.net/u1/38994/showart_1130025.html
dzÎölinuxϼüÅÌÉ豸¹¤×÷ºÍ×¢²áÁ÷³Ì
¡¾Ç³ÎölinuxÏÂÊó±êÇý¶¯µÄʵÏÖ¡¿
 input_init(
)
=
>
=
>
class_register(
&
input_class)
;
×¢²áinputÀà
input_proc_init(
)
;
´´½¨procϵÄĿ¼ºÍÎļþ
register_chrdev(
INPUT_MAJOR,
"input"
,
&
input_fops)
;
×¢²áÇý¶¯³ÌÐòµ½cdev_mapÉÏ,
ÒÔ´ýÇý¶¯É豸.
drivers\input\keyboard\pxa3xx_keypad.
cΪÎÒÃǵÄkeyboardÉ豸,
pxa3xx_keypad_probe=
>
request_irq(
IRQ_ENHROT,
&
enhanced_rotary_interrupt,
            IRQF_DISABLED,
"Enhanced Rotary"
,
(
void
*
)
keypad)
;
×¢²á¿ì½Ý¼üÖжÏ
request_irq(
IRQ_KEYPAD,
pxa3xx_keypad_interrupt,
IRQF_DISABLED,
pdev-
>
name,
keypad)
;
×¢²áÖжÏ
static
irqreturn_t pxa3xx_keypad_interrupt(
int
irq,
void
*
dev_id)
{
    struct
pxa3xx_keypad *
keypad =
dev_id;
    uint32_t
kpc =
keypad_readl(
KPC)
;
    if
(
kpc &
KPC_MI)
        pxa3xx_keypad_scan_matrix(
keypad)
;
    if
(
kpc &
KPC_DI)
        pxa3xx_keypad_scan_direct(
keypad)
;
    return
IRQ_HANDLED;
}
ÔÚirqÖÐÈç¹û¶Áµ½ÁËkey,
ÄÇô»áÖ±½Óµ÷ÓÃ
input_report_key(
keypad-
>
input_dev,
lookup_matrix_keycode(
keypad,
row,
col)
,
                new_state[
col]
&
(
1 <
<
row)
)
;
static
inline
unsigned
int
lookup_matrix_keycode(
        struct
pxa3xx_keypad *
keypad,
int
row,
int
col)
{
    return
keypad-
>
matrix_keycodes[
(
row <
<
3)
+
col]
;
}
input_report_key(
struct


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨Èý£© HCI²ã±à³Ì

1. HCI²ãЭÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI)  ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈЭÒé ......

ʵսLinux Bluetooth±à³Ì(Áù) L2CAP±à³ÌʵÀý

ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
 Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......

ʵսLinux Bluetooth±à³Ì (Æß) SDPЭÒé

Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖЭÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀЭÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......

ÍƼö£ºLinuxÈëÃÅ11µã½¨Òé

תÔØÍƼö ---- LinuxÈëÃÅ11µã½¨Òé
Ëæ×Å
Linux
Ó¦ÓõÄÀ©Õ¹Ðí¶àÅóÓÑ¿ªÊ¼½Ó´¥
Linux
£¬¸ù¾Ýѧϰ
Windwos
µÄ¾­ÑéÍùÍùÓÐһЩãȻµÄ¸Ð¾õ£º²»Öª´ÓºÎ´¦¿ªÊ¼Ñ§Æð¡£ÕâÀï½éÉÜѧϰ
Linux
µÄһЩ½¨Òé¡£

Ò»¡¢´Ó»ù´¡¿ªÊ¼£º
 
 
 
³£³£ÓÐЩÅóÓÑÔÚ
Linux
ÂÛ̳ÎÊһЩÎÊÌ⣬²»¹ý£¬ÆäÖдó¶àÊýµÄÎÊÌⶼÊǺܻù´ ......

linuxÉ豸Çý¶¯Ö®¿ØÖÆ̨Çý¶¯

¡¡Ò»:Ç°ÑÔ
¡¡¡¡ÎÒÃÇÔÚ֮ǰ·ÖÎö¹ýinput×ÓϵͳºÍttyÉ豸Çý¶¯¼Ü¹¹.½ñÌìÐèÒª½«Á½Õß½áºÏÆðÀ´.¿´¿´linuxÖеĿØÖÆ̨ÊÇÔõôÑùʵÏÖµÄ.
¡¡¡¡¶þ:¿ØÖÆ̨Çý¶¯µÄ³õʼ»¯
¡¡¡¡Ö®Ç°ÔÚ·ÖÎöttyÇý¶¯¼Ü¹¹µÄʱºòÔø·ÖÎöµ½.Ö÷É豸Ϊ4,´ÎÉ豸Ϊ0µÄÉ豸½Úµã,¼´/dev/tty0Ϊµ±Ç°µÄ¿ØÖÆÖÕ¶Ë.
¡¡¡¡ÓÐtty_init()ÖÐ,ÓÐÒÔÏ´úÂë¶Î:
¡¡¡¡static int __ini ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ