获取方法如下:
#include#include #include #include #include #include #include #include #include #include #include #include #include void get_mac_name(char *name, char *dev_name) { struct ifreq ifreq; int sock; if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) { perror("socket"); goto __finish; } strcpy(ifreq.ifr_name, dev_name); if (ioctl(sock, SIOCGIFHWADDR, &ifreq) < 0) { perror("ioctl"); goto __finish; } printf("%02x:%02x:%02x:%02x:%02x:%02x\n", (unsigned char)ifreq.ifr_hwaddr.sa_data[0], (unsigned char)ifreq.ifr_hwaddr.sa_data[1], (unsigned char)ifreq.ifr_hwaddr.sa_data[2], (unsigned char)ifreq.ifr_hwaddr.sa_data[3], (unsigned char)ifreq.ifr_hwaddr.sa_data[4], (unsigned char)ifreq.ifr_hwaddr.sa_data[5]); char mac1[32], mac4[32], mac5[32], mac6[32]; sprintf(mac1, "%02x", (unsigned char)ifreq.ifr_hwaddr.sa_data[0]); sprintf(mac4, "%02x", (unsigned char)ifreq.ifr_hwaddr.sa_data[3]); sprintf(mac5, "%02x", (unsigned char)ifreq.ifr_hwaddr.sa_data[4]); sprintf(mac6, "%02x", (unsigned char)ifreq.ifr_hwaddr.sa_data[5]); sprintf(name, "%s%s%s%c", mac4, mac5, mac6, mac1[0]); __finish: if (strlen(name) != 7) { sprintf(name, "%s", "0000001"); printf("mac name len is error,len = %d, mac name is %s default mac_name:%s\n", (int)strlen(name), name, "0000001"); } }
最新评论
您好,可以分享一下具体的指令发送顺序吗(上位机->PN532),我按开发手册里的指令,发给PN532,PN532没有反应,困扰好几天了,还烦请大佬解答
style是什么呢
文章非常好,支持一下
qwq如果这样也打不开怎么办啊
天气越来越冷了,躲在家里刷刷博客也挺好!
还不错的样子!!!!!!!!!!!!!!!!
cat /dev/ttyS0& 然后echo "aaaaaaa" > /dev/ttyS0 本地会回显数据,这个要怎么解决
真心不错,不得不支持一下先!