Ik gebruik het volgende struct:
struct CBUF {
unsigned char count;
unsigned char size;
unsigned char ibx;
unsigned char obx;
unsigned char *buf;
}
Een globale variablele:
struct CBUF * TX_cir_buf;
In de initialisatie routine zit ik met de vraag hoe ik op de juiste manier ruimte reserveer voor de buffer
struct CBUF *buffer_create (unsigned char buf_size)
{
struct CBUF *tmp;
tmp->size = buf_size;
tmp->count = 0;
tmp->idx = 0;
tmp->odx = 0;
De vraag !!!
Reserveer ik nu zo de juiste hoeveelheid geheugen:
tmp = (struct CBUF * ) malloc (sizeof (struct CBUF));
tmp->buf = (unsigned char * ) malloc (buf_size);
OF
tmp = (struct CBUF * ) malloc (sizeof (struct CBUF) + buf_size);
tmp->buf = (unsigned char * ) malloc (buf_size);
return tmp;
}
(voor de vorm de main erbij)
void main (void)
{
TX_circ_buf = buffer_create(100);
while (1)
{
; //een heleboel
}
}
struct CBUF {
unsigned char count;
unsigned char size;
unsigned char ibx;
unsigned char obx;
unsigned char *buf;
}
Een globale variablele:
struct CBUF * TX_cir_buf;
In de initialisatie routine zit ik met de vraag hoe ik op de juiste manier ruimte reserveer voor de buffer
struct CBUF *buffer_create (unsigned char buf_size)
{
struct CBUF *tmp;
tmp->size = buf_size;
tmp->count = 0;
tmp->idx = 0;
tmp->odx = 0;
Reserveer ik nu zo de juiste hoeveelheid geheugen:
tmp = (struct CBUF * ) malloc (sizeof (struct CBUF));
tmp->buf = (unsigned char * ) malloc (buf_size);
OF
tmp = (struct CBUF * ) malloc (sizeof (struct CBUF) + buf_size);
tmp->buf = (unsigned char * ) malloc (buf_size);
return tmp;
}
(voor de vorm de main erbij)
void main (void)
{
TX_circ_buf = buffer_create(100);
while (1)
{
; //een heleboel
}
}