Hi alle zusammen,
folgende Funktion wird bei mir zu SPI Übertragen in meinem
SPI_Treiber-Modul zyklisch aufgerufen. Das Problem ist dass sich die
SD-Karte von meinem Raspberry Pi dadurch füllt, heißt nach längerer
Laufzeit des Moduls ist sie voll, nach einer Stunde sind etwa 3 GB
gefüllt! Hat jemand eine Idee woran das liegen könnte?
1 | USIGN32 TPS1_SendReceiveData(u8* transmit, unsigned short length, u8* receive)
|
2 | {
|
3 |
|
4 | int ret = 0;
|
5 | int i;
|
6 |
|
7 | for(i = 0; i < length; i++){
|
8 |
|
9 | struct spi_transfer t = {
|
10 | .tx_buf = transmit +i,
|
11 | .rx_buf = receive +i,
|
12 | .len = 1,
|
13 | .speed_hz = MAX_SPI_CLOCK,
|
14 | };
|
15 |
|
16 | struct spi_message msg;
|
17 | spi_message_init(&msg);
|
18 | spi_message_add_tail(&t, &msg);
|
19 |
|
20 | gpio_set_value(HOST_SFRN, 1);
|
21 | gpio_set_value(HOST_SFRN, 0);
|
22 |
|
23 | ret = spi_sync(tps->spi, &msg);
|
24 |
|
25 | if(i == 0 && (*(transmit) & 0x80) != 0 )
|
26 | gpio_set_value(HOST_SFRN, 1);
|
27 |
|
28 | if (ret){
|
29 | printk( "SPI transmission failed: ret = %d\n", ret);
|
30 | break;
|
31 | }
|
32 | }
|
33 |
|
34 | return TPS_ACTION_OK;
|
35 | }
|