📄 serialsend.c
字号:
#include <stdio.h>
#include <stdlib.h>
#include "serialsource.h"
static char *msgs[] = {
"unknown_packet_type",
"ack_timeout" ,
"sync" ,
"too_long" ,
"too_short" ,
"bad_sync" ,
"bad_crc" ,
"closed" ,
"no_memory" ,
"unix_error"
};
void stderr_msg(serial_source_msg problem)
{
fprintf(stderr, "Note: %s\n", msgs[problem]);
}
void send_packet(serial_source src, char **bytes, int count)
{
int i;
unsigned char *packet;
packet = malloc(count);
if (!packet)
exit(2);
for (i = 0; i < count; i++)
packet[i] = strtol(bytes[i], NULL, 0);
fprintf(stderr,"Sending ");
for (i = 0; i < count; i++)
fprintf(stderr, " %02x", packet[i]);
fprintf(stderr, "\n");
if (write_serial_packet(src, packet, count) == 0)
printf("ack\n");
else
printf("noack\n");
}
int main(int argc, char **argv)
{
serial_source src;
if (argc < 3)
{
fprintf(stderr, "Usage: %s <device> <rate> <bytes> - send a raw packet to a serial port\n", argv[0]);
exit(2);
}
src = open_serial_source(argv[1], platform_baud_rate(argv[2]), 0, stderr_msg);
if (!src)
{
fprintf(stderr, "Couldn't open serial port at %s:%s\n",
argv[1], argv[2]);
exit(1);
}
send_packet(src, argv + 3, argc - 3);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -