#include #include #include #include #include #include #include int main(int argc, char *argv[]) { int flag = 0; int freq = 0; int duration = 0; unsigned char buf[4]; int fd = 0; int ret = 0; if(argc != 4) { printf("Usage: %s on 2 2400\n", argv[0]); return 1; } if(strcmp(argv[1], "on") == 0) { flag = 1; } else if(strcmp(argv[1], "off") == 0) { flag = 0; } else { printf("Usage: %s on 2 2400\n", argv[0]); return 1; } freq = atoi(argv[3]); duration = atoi(argv[2]); memset(buf, 0, sizeof(buf)); buf[0] = flag; buf[1] = freq&0xff; buf[2] = (freq>>8)&0xff; buf[3] = duration&0xff; fd = open("/dev/buzzer", O_RDWR); if(fd < 0) { printf("open /dev/buzzer failed\n"); return 1; } ret = write(fd, buf, sizeof(buf)); if(ret < 0) { printf("write /dev/buzzer failed\n"); return 1; } close(fd); }