LinuxÏ´®¿ÚÐÅÏ¢µÄ¶ÁÈ¡
1. ´ò¿ª´®¿Ú
¡¡¡¡ÓëÆäËûµÄ¹ØÓÚÉ豸±à³ÌµÄ·½·¨Ò»Ñù£¬ÔÚLinuxÏ£¬²Ù×÷¡¢¿ØÖÆ´®¿ÚÒ²ÊÇͨ¹ý²Ù×÷ÆðÉ豸Îļþ½øÐеġ£ÔÚLinuxÏ£¬´®¿ÚµÄÉ豸ÎļþÊÇ/dev/ttyS0»ò/dev/ttyS1µÈ¡£Òò´ËÒª¶Áд´®¿Ú£¬ÎÒÃÇÊ×ÏÈÒª´ò¿ª´®¿Ú£º
¡¡
¡¡¡¡char *dev = "/dev/ttyS0"£» //´®¿Ú1
¡¡
¡¡¡¡int fd = open£¨ dev£¬ O_RDWR £©£»
¡¡
¡¡¡¡//| O_NOCTTY | O_NDELAY
¡¡
¡¡¡¡if £¨-1 == fd£©
¡¡
¡¡¡¡{
¡¡
¡¡¡¡perror£¨"Can't Open Serial Port"£©£»
¡¡
¡¡¡¡return -1£»
¡¡
¡¡¡¡}
¡¡
¡¡¡¡else
¡¡
¡¡¡¡return fd£»
¡¡
¡¡¡¡2. ÉèÖô®¿ÚËÙ¶È
¡¡
¡¡¡¡´ò¿ª´®¿Ú³É¹¦ºó£¬ÎÒÃǾͿÉÒÔ¶ÔÆä½øÐжÁдÁË¡£Ê×ÏÈÒªÉèÖô®¿ÚµÄ²¨ÌØÂÊ£º
¡¡
¡¡¡¡int speed_arr[] = { B38400£¬ B19200£¬ B9600£¬ B4800£¬ B2400£¬ B1200£¬ B300£¬
¡¡
¡¡¡¡B38400£¬ B19200£¬ B9600£¬ B4800£¬ B2400£¬ B1200£¬ B300£¬ }£»
¡¡
¡¡¡¡int name_arr[] = {38400£¬ 19200£¬ 9600£¬ 4800£¬ 2400£¬ 1200£¬ 300£¬ 38400£¬
¡¡
¡¡¡¡19200£¬ 9600£¬ 4800£¬ 2400£¬ 1200£¬ 300£¬ }£»
¡¡
¡¡¡¡void set_speed£¨int fd£¬ int speed£©{
¡¡
¡¡¡¡int i£»
¡¡
¡¡¡¡int status£»
¡¡
¡¡¡¡struct termios Opt£»
¡¡
¡¡¡¡tcgetattr£¨fd£¬ &Opt£©£»
¡¡
¡¡¡¡for £¨ i= 0£» i < sizeof£¨speed_arr£© / sizeof£¨int£©£» i++£© {
¡¡
¡¡¡¡if £¨speed == name_arr£© {
¡¡
¡¡¡¡tcflush£¨fd£¬ TCIOFLUSH£©£»
¡¡
¡¡¡¡cfsetispeed£¨&Opt£¬ speed_arr£©£»
¡¡
¡¡¡¡cfsetospeed£¨&Opt£¬ speed_arr£©£»
¡¡
¡¡¡¡status = tcsetattr£¨fd£¬ TCSANOW£¬ &Opt£©£»
¡¡
¡¡¡¡if £¨status £¡= 0£© {
¡¡
¡¡¡¡perror£¨"tcsetattr fd"£©£»
¡¡
¡¡¡¡return£»
¡¡
¡¡¡¡}
¡¡
¡¡¡¡tcflush£¨fd£¬TCIOFLUSH£©£»
¡¡
¡¡¡¡}
¡¡
¡¡¡¡}
¡¡
¡¡¡¡}
¡¡
¡¡¡¡3. ÉèÖô®¿ÚÐÅÏ¢
¡¡
¡¡¡¡ÕâÖ÷Òª°üÀ¨£ºÊý¾Ýλ¡¢Í£Ö¹Î»¡¢ÆæÅ¼Ð£ÑéλÕâЩÖ÷ÒªµÄÐÅÏ¢¡£
¡¡
¡¡¡¡/**
¡¡
¡¡¡¡*@brief ÉèÖô®¿ÚÊý¾Ýλ£¬Í£Ö¹Î»ºÍЧÑéλ
¡¡
¡¡¡¡*@param fd ÀàÐÍ int ´ò¿ªµÄ´®¿ÚÎļþ¾ä±ú
¡¡
¡¡¡¡*@param databits ÀàÐÍ int Êý¾Ýλ ȡֵ Ϊ 7 »òÕß8
¡¡
¡¡¡¡*@param stopbits ÀàÐÍ int ֹͣλ ȡֵΪ 1 »òÕß2
¡¡
¡¡¡¡*@param parity ÀàÐÍ int ЧÑéÀàÐÍ È¡ÖµÎªN£¬E£¬O£¬£¬S
¡¡
¡¡¡¡*/
¡¡
¡¡¡¡int set_Parity£¨int fd£¬int databits£¬int stopbits£¬int parity£©
¡¡
¡¡¡¡{
¡¡
¡¡¡¡struct termios options£»
¡¡
¡¡¡¡if £¨ t
Ïà¹ØÎĵµ£º
ÀýÒ»£º·¢ËÍ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 ......
http://news.csdn.net/a/20091229/216149.html
Techradar£ºLinuxÑݱäµÄ15¸öÖØ´óÀï³Ì±®
2009-12-29 15:50 | 273´ÎÔĶÁ | À´Ô´£º»ª¾ü×ÊѶ ¡¾ÒÑÓÐ0ÌõÆÀÂÛ¡¿·¢±íÆÀÂÛ
¹Ø¼ü´Ê£ºLinux | ¸ÐлcarlkxiafhwfhwµÄÌṩ | ÊÕ²ØÕâÆªÐÂÎÅ
¾Ý¹úÍâýÌ屨µÀ£¬½üÈÕ£¬×ÊÑ¶ÍøÕ¾TechradarÁоÙÁ˽üÊ®ÄêÀ´LinuxÏ ......
1.ϵͳÐÅÏ¢ÏÔʾÃüÁî # uname -a # ²é¿´ÄÚºË/²Ù×÷ϵͳ/CPUÐÅÏ¢
# head -n 1 /etc/issue # ²é¿´²Ù×÷ϵͳ°æ±¾
# cat /proc/cpuinfo # ²é¿´CPUÐÅÏ¢
# hostname ......
GDB ¸ÅÊö
————
GDB ÊÇ GNU ¿ªÔ´×éÖ¯·¢²¼µÄÒ»¸öÇ¿´óµÄ UNIX ϵijÌÐòµ÷ÊÔ¹¤¾ß¡£»òÐí£¬¸÷λ±È½Ïϲ»¶ÄÇÖÖͼÐνçÃæ·½Ê½µÄ£¬Ïñ VC ¡¢ BCB µÈ IDE µÄµ÷ÊÔ£¬µ«Èç¹ûÄãÊÇÔÚ UNIX ƽ̨ÏÂ×öÈí¼þ£¬Äã»á·¢ÏÖ GDB Õâ¸öµ÷ÊÔ¹¤¾ßÓÐ±È VC ¡¢ BCB µÄͼÐλ¯µ÷ÊÔÆ÷¸üÇ¿´óµÄ¹¦ÄÜ¡£Ëùν “ ´çÓÐËù³¤£¬³ßÓÐËù¶Ì &rd ......