LinuxÒôƵ±à³ÌÖ¸ÄÏ
ËäȻĿǰLinuxµÄÓÅÊÆÖ÷ÒªÌåÏÖÔÚÍøÂç·þÎñ·½Ã棬µ«ÊÂʵÉÏͬÑùÒ²ÓÐ×ŷdz£·á¸»µÄýÌ幦ÄÜ£¬±¾ÎľÍÊÇÒÔ¶àýÌåÓ¦ÓÃÖÐ×î»ù±¾µÄÉùÒôΪ¶ÔÏ󣬽éÉÜÈçºÎÔÚLinuxƽ̨Ï¿ª·¢Êµ¼ÊµÄÒôƵӦÓóÌÐò£¬Í¬Ê±»¹¸ø³öÁËһЩ³£ÓõÄÒôƵ±à³Ì¿ò¼Ü¡£
Ò»¡¢Êý×ÖÒôƵ
ÒôƵÐźÅÊÇÒ»ÖÖÁ¬Ðø±ä»¯µÄÄ£ÄâÐźţ¬µ«¼ÆËã»úÖ»ÄÜ´¦ÀíºÍ¼Ç¼¶þ½øÖƵÄÊý×ÖÐźţ¬ÓÉ×ÔÈ»ÒôÔ´µÃµ½µÄÒôƵÐźűØÐë¾¹ýÒ»¶¨µÄ±ä»»£¬³ÉΪÊý×ÖÒôƵÐźÅÖ®ºó£¬²ÅÄÜË͵½¼ÆËã»úÖÐ×÷½øÒ»²½µÄ´¦Àí¡£
Êý×ÖÒôƵϵͳͨ¹ý½«Éù²¨µÄ²¨ÐÍת»»³ÉһϵÁжþ½øÖÆÊý¾Ý£¬À´ÊµÏÖ¶ÔÔʼÉùÒôµÄÖØÏÖ£¬ÊµÏÖÕâÒ»²½ÖèµÄÉ豸³£±»³ÆÎªÄ£/Êýת»»Æ÷£¨A/D£©¡£A/Dת»»Æ÷ÒÔÿÃëÖÓÉÏÍò´ÎµÄËÙÂʶÔÉù²¨½øÐвÉÑù£¬Ã¿¸ö²ÉÑùµã¶¼¼Ç¼ÏÂÁËÔʼģÄâÉù²¨ÔÚijһʱ¿ÌµÄ״̬£¬Í¨³£³ÆÖ®ÎªÑù±¾£¨sample£©£¬¶øÃ¿Ò»ÃëÖÓËù²ÉÑùµÄÊýÄ¿Ôò³ÆÎª²ÉÑùƵÂÊ£¬Í¨¹ý½«Ò»´®Á¬ÐøµÄÑù±¾Á¬½ÓÆðÀ´£¬¾Í¿ÉÒÔÔÚ¼ÆËã»úÖÐÃèÊöÒ»¶ÎÉùÒôÁË¡£¶ÔÓÚ²ÉÑù¹ý³ÌÖеÄÿһ¸öÑù±¾À´Ëµ£¬Êý×ÖÒôƵϵͳ»á·ÖÅäÒ»¶¨´æ´¢Î»À´¼Ç¼Éù²¨µÄÕñ·ù£¬Ò»°ã³ÆÖ®Îª²ÉÑù·Ö±çÂÊ»òÕß²ÉÑù¾«¶È£¬²ÉÑù¾«¶ÈÔ½¸ß£¬ÉùÒô»¹Ôʱ¾Í»áԽϸÄå¡£
Êý×ÖÒôÆµÉæ¼°µ½µÄ¸ÅÄî·Ç³£¶à£¬¶ÔÓÚÔÚLinuxϽøÐÐÒôƵ±à³ÌµÄ³ÌÐòÔ±À´Ëµ£¬×îÖØÒªµÄÊÇÀí½âÉùÒôÊý×Ö»¯µÄÁ½¸ö¹Ø¼ü²½Ö裺²ÉÑùºÍÁ¿»¯¡£²ÉÑù¾ÍÊÇÿ¸ôÒ»¶¨Ê±¼ä¾Í¶ÁÒ»´ÎÉùÒôÐźŵķù¶È£¬¶øÁ¿»¯ÔòÊǽ«²ÉÑùµÃµ½µÄÉùÒôÐźŷù¶Èת»»ÎªÊý×ÖÖµ£¬´Ó±¾ÖÊÉϽ²£¬²ÉÑùÊÇʱ¼äÉϵÄÊý×Ö»¯£¬¶øÁ¿»¯ÔòÊÇ·ù¶ÈÉϵÄÊý×Ö»¯¡£ÏÂÃæ½éÉܼ¸¸öÔÚ½øÐÐÒôƵ±à³Ìʱ¾³£ÐèÒªÓõ½µÄ¼¼ÊõÖ¸±ê£º
²ÉÑùƵÂÊ
²ÉÑùƵÂÊÊÇÖ¸½«Ä£ÄâÉùÒô²¨ÐνøÐÐÊý×Ö»¯Ê±£¬Ã¿ÃëÖÓ³éÈ¡Éù²¨·ù¶ÈÑù±¾µÄ´ÎÊý¡£²ÉÑùƵÂʵÄÑ¡ÔñÓ¦¸Ã×ñÑÄοüË¹ÌØ£¨Harry Nyquist£©²ÉÑùÀíÂÛ£ºÈç¹û¶ÔijһģÄâÐźŽøÐвÉÑù£¬Ôò²ÉÑùºó¿É»¹ÔµÄ×î¸ßÐÅºÅÆµÂÊÖ»ÓвÉÑùƵÂʵÄÒ»°ë£¬»òÕß˵ֻҪ²ÉÑùƵÂʸßÓÚÊäÈëÐźÅ×î¸ßƵÂʵÄÁ½±¶£¬¾ÍÄÜ´Ó²ÉÑùÐźÅϵÁÐÖØ¹¹ÔʼÐźš£Õý³£ÈËÌý¾õµÄƵÂÊ·¶Î§´óÔ¼ÔÚ20Hz~20kHzÖ®¼ä£¬¸ù¾ÝÄοüË¹ÌØ²ÉÑùÀíÂÛ£¬ÎªÁ˱£Ö¤ÉùÒô²»Ê§Õ棬²ÉÑùƵÂÊÓ¦¸ÃÔÚ40kHz×óÓÒ¡£³£ÓõÄÒôƵ²ÉÑùƵÂÊÓÐ8kHz¡¢11.025kHz¡¢22.05kHz¡¢16kHz¡¢37.8kHz¡¢44.1kHz¡¢48kHzµÈ£¬Èç¹û²ÉÓøü¸ßµÄ²ÉÑùƵÂÊ£¬»¹¿ÉÒÔ´ïµ½DVDµÄÒôÖÊ¡£
Á¿»¯Î»Êý
Á¿»¯Î»ÊýÊǶÔÄ£ÄâÒôƵÐźŵķù¶È½øÐÐÊý×Ö»¯£¬Ëü¾ö¶¨ÁËÄ£ÄâÐźÅÊý×Ö»¯ÒÔºóµÄ¶¯Ì¬·¶Î§£¬³£ÓõÄÓÐ8λ¡¢12λºÍ16λ¡£Á¿»¯Î»Ô½¸ß£¬ÐźŵĶ¯Ì¬·¶Î§Ô½´ó£¬Êý×Ö»¯ºóµÄÒôƵÐźžÍÔ½¿ÉÄܽӽüÔʼÐźţ¬µ«ËùÐèÒªµÄ´æÖü¿Õ¼äÒ²Ô½´ó¡£
ÉùµÀÊý
ÉùµÀÊýÊÇ·´Ó³ÒôƵÊý×Ö»¯ÖÊÁ¿µÄÁíÒ»
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,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 ......
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
1. ѧ»áд¼òµ¥µÄmakefile
2. ±àһЩӦÓÃ
³ÌÐò
£¬¿ÉÒÔÓÃmakefileÅÜÆðÀ´
3. ѧ»áдÇý¶¯
µÄmakefile
4. дһ¼òµ¥charÇý¶¯£¬makefile±àÒëͨ¹ý£¬¿ÉÒÔinsmod£¬ lsmod£¬ rmmod. ÔÚÇý¶¯µÄinitº¯ÊýÀï´òÓ¡hello world£¬insmodºóÓ¦¸ÃÄܹ»Í¨¹ýdmesg¿´µ½Êä³ö
¡£
5. дһÍêÕûÇý¶¯£¬ ¼ÓÉÏread£¬ write£¬ ioctl£¬ pollingµÈ¸ ......
ÔÚlinuxϵͳÉÏͬÑù¿ÉÒÔÅäÖô®¿Ú£¬Ê¹Óô®¿ÚÀ´ÓëÆäËûÉ豸½øÐÐͨÐÅ¡£
ÔÚÅäÖô®¿Úǰ£¬ÎÒÃÇÓÐÈ¡µÃlinuxϵͳµÄrootȨÏÞ£¬Õâ¸öºÜÖØÒª¡£·ñÔòÎÞ·¨Íê³ÉÏÂÃæ²½Öè¡£
1.Çл»µ½rootÓû§.
[root@localhost ~]#su root
2. ²éÕÒÓÐЧµÄ´®É豸.
[root@localhost ~]#cat /proc/devices
Character devices:
1 mem
4 /dev/v ......