Привет, я читаю часами и до сих пор не могу понять преобразования между
{
char i ="adf";
char foo[];
char bar[256];
}
, а добавление *
и &
делает это более запутанным
У меня есть некоторыекод, который работает.
int TX_SEND(char send[])
{
unsigned char *p_tx_buffer;
p_tx_buffer = &send[0];
strcat(send, "\r");
// Write to the port
int n = write(fd,&send[0],3);
if (n < 0) {
perror("Write failed - ");
return -1;
}
return(0);
}
код работает, но мне нужна помощь с 2 частями.
- Я хочу иметь возможность запускать эту функцию примерно как
printf IE TX_SEND("AT+CGMSD=STUFF");
, но я застрял
, но перед этим я делаю это много.
char txsend[] = "at";
TX_SEND(txsend);
Также внутри моего
TX_WRITE()
я использую
write(fd,&send[0],3)
, но он жестко запрограммирован для отправки 3 байтов из
send[]
.Я хочу, чтобы это было динамически, поэтому я могу просто посылать строки любой длины (реально они всегда будут меньше 300 символов ASCII).Я пытался что-то сделать с указателем, но сдался (
*p_tx_buffer
была моей первой попыткой).