-
Thread
STM32CubeMX USB-CDC Fehler im Code
memory * @retval None */ void *USBD_static_malloc(uint32_t size) { static uint32_t mem[(sizeof(USBD_CDC_HandleTypeDef)/4)+1];//On 32-bit boundary return mem; } /** * @brief Dummy memory free * @param *p pointer to allocated memory address * @retval None */ void USBD_static_free
-
Thread
Warum sind Com1..4: immer da ?
(pi) free (pi); return 0; } // Allocate structured memory pi = calloc (numPrt, sizeof (PORT_INFO_2)); memcpy (pi, z, numPrt * sizeof (PORT_INFO_2)); for (i = 0; i < numPrt; i++) { if ( pi[i].pPortName != NULL ) { if (strstr(pi[i].pPortName, COMPort))
-
Thread
PCINT Interruptroutine
not_active ) key_press[3][1]=1; else key_press[3][1]=0; row4_high; memcpy(key_mask, key_press, sizeof(key_press)); for(unsigned int i=0; i<=3; i++){ for(unsigned int k=0; k<=2; k++){ if((key_press[i][k]==1) && (key_mask[i][k]!=key_mask_old[i][k])){ usart_transmit_string("\r\
usart_transmit_char(key_num[i][k]); } } } memcpy(key_mask_old, key_mask, sizeof(key_mask)); PORTC &= ~((1 << DDC0) | (1 << DDC1) | (1 << DDC2) | (1 << DDC3)); // all rows low }[/code] Da ich die internen pullups aktiviert habe, muss ich eigentlich alle Ausgänge (die für
-
Thread
NrF24L01 funktioniert nicht - Arduino UNO
Serial.println("\tNOTAvailable"); const char text[] = "Hello World"; radio.write(&text, sizeof(text)); //Serial.println("Transmitted: \t Hello World"); //delay(50); } [/c]
-
Thread
C++: Serialisierung: Client/Server Kommunikation über Klassen Objekte
c] bool Socket::send ( const std::ofstream ofs ) const { int status = ::send ( m_sock, ofs, sizeof(ofs), MSG_NOSIGNAL ); if ( status == -1 ) { return false; } else { return true; } } [/c]
bool Socket::send ( const std::ofstream ofs ) const > { > int status = ::send ( m_sock, ofs, sizeof(ofs), MSG_NOSIGNAL ); Wie Rolf schon schrieb, solltest Du Dir Deinen eigenen stream um den Socket her schreiben. Genau genommen ist es sogar der stream buffer, den Du selbst schreiben musst (es
-
Thread
OOP - für was in aller Welt soll denn das gut sein?
include "foo.h" struct Foo { int a; //... }; Foo* foo_create() { Foo* foo = malloc(sizeof(Foo)); //... foo->a = 0; //... } void foo_doThis(Foo* foo) { //... } void foo_doThat(Foo* foo) { //... } [/c] Großer Nachteil dabei ist, dass man die Struktur nicht mehr
-
Thread
stm32f429 BMP read sd
= f_open(&fsrc, aa, FA_OPEN_EXISTING | FA_READ); //´òÉÏͼƬÎļþÃû res = f_read(&fsrc, &bmp, sizeof(bmp), &br); if((bmp.pic_head[0]=='B')&&(bmp.pic_head[1]=='M')) { res = f_lseek(&fsrc, ((bmp.pic_data_address_h<<16)|bmp.pic_data_address_l)); for(tx=0;tx<bmp.pic_h_l;tx++){
-
Thread
Arduino mit neuronalem Netz überlastet?
size[1] = unnamed_idx_1; c->size[0L] = 20; emxEnsureCapacity((emxArray__common *)c, br, (int)sizeof(float)); unnamed_idx_1 = c->size[1]; for (br = 0; br < unnamed_idx_1; br++) { for (cr = 0; cr < 20; cr++) { c->data[cr + c->size[0] * br] = 0.0F; } } if (xp1->size[1]
0] = 20; b_a1->size[1] = a1->size[1]; emxEnsureCapacity((emxArray__common *)b_a1, br, (int)sizeof(float)); unnamed_idx_1 = a1->size[0] * a1->size[1]; for (br = 0; br < unnamed_idx_1; br++) { b_a1->data[br] = a1->data[br] + c->data[br]; } emxFree_real32_T(&c); emxInit_real32
-
Thread
OpenOCD streikt neuerdings
0xff\n" 165,059 20^done 165,059 (gdb) 165,061 21-data-evaluate-expression --thread-group i1 "sizeof (void*)" 165,069 21^done,value="4" 165,069 (gdb) 165,070 22-gdb-set --thread-group i1 language auto 165,079 22^done 165,079 (gdb) 165,081 23-interpreter-exec --thread-group i1 console "show
-
Thread
Probleme beim parsen von UART string
} #else while( usart_rx_available(USART1) ) { usart_read(USART1, buff2, sizeof(buff2)); usart_putc(USART0,'['); usart_write(USART0,buff2); usart_write(USART0,"]\r\n"); } #endif } } [/c] Danke, Max
-
Thread
MSP430f1611 DMA
dmaInit(); /* run echo loop */ while(1) /* run forever */ { dmaRS232(string1, sizeof(string1)); } } /* Name: dmaRS232 */ /* Function: */ /* Parameters: */ /* Return:
-
Thread
C++, Problem bei Auslesen von COM-Port
char buffer[1024] = { 0 }; ... WriteFile(hCom, buffer, sizeof(buffer), &nBytesRead, NULL); ... ReadFile(hCom, buffer, sizeof(buffer), &nBytesRead, NULL); ... Drei mal darfst raten was da passiert ...
cbInQue). ReadFile wird dann halt nur noch aufgerufen, wenn cbInQue > 0 ist und nicht mehr nur mit sizeof(buffer), sondern mit min(stat.cbInQue, sizeof(buffer)).
-
Thread
FreeROTS Fehler "AssertFail" durch Befehl xQueueReceive
Nachtrag: Den Befehl [c] uart5queue = xQueueCreate(32, sizeof(uint8_t)); [/c] führe ich in der gleichen Datei in der Init Funktion aus.
Sieht eigendlich alles ganz ok aus. Kannst Du mal nach uart5queue = xQueueCreate(32, sizeof(uint8_t)); einen Breakpoint setzen und den Wert von uart5queue überprüfen? Gruß, Stefan
-
Thread
Warum ist mein int8_t 4 Bytes groß? 0xFF != 0xFFFFFFFF
; int8_t offset = EEPROM.read(0x08); Serial.print("Size of offset: "); Serial.println(sizeof(offset)); Serial.println(EEPROM.read(0x08), HEX); Serial.println(EEPROM.read(0x08), DEC); Serial.println(eeprom_read_byte((uint8_t*)0x08), HEX); Serial.println(offset, HEX); Serial.println
_t test1 = -127; int8_t test2 = -1; void setup() { Serial.begin(9600); Serial.println(sizeof(test1)); Serial.println(test1); Serial.println(test2); } void loop(){} [/c] Result: [c]1 -127 -1 [/c]
-
Thread
Lampe jeden Sonntag einer geraden Woche leuchten lassen
= tstamp + 12 * 60 * 60; // damit die Lampe um 12 Uhr mittags am Vortag angeht int leng = sizeof(biomuell) / sizeof(biomuell[0]); int i; for (i = 0; i < leng; ++i) { if ( (restmuell[i] / 10000) == (tstamp / 10000)) { Serial.print ("RM:"); Serial.println (i); digitalWrite
-
Thread
Problem: Float in String umwandeln mit memcpy
ich sizeof verwende (wie wird sizeof bei einer float z.B. 1.25 berechnet? 3?)
snprintf gemacht. int main () { char buffer[8]; int value = 1.25; snprintf(buffer,sizeof(value), "%f",value); return 0; }
-
Thread
ATMEGA8 - ULN2803 - LM23-K
while(1){ while(!(PINB & 0b00000001)){ PORTC = 0b00000001; if(j<sizeof(schritt)){ PORTD = schritt[j]; newdelay(50); j++; } else { j=0; } } while(!(PINB & 0b00000010))
-
Thread
Reihenfolge der Structs im Speicher durcheinander
> Mit Zeigeroperationen gehe ich die gesamte Liste durch. Also sowas wie zeiger = &struct1 + (sizeof(struct) * n) ? Ich weiss gerade nicht, wo ich das gelesen habe, aber direkte Manipulation von Zeigern dürften nach diversen Kodier-Richtlinien verboten sein. Da ist ein Array von Structs doch direkt
-
Thread
expected declaration specifiers or '.' before '(' token
. [c]#define projectRamUsage 380 + 64 #define bufSize ((RAMEND - 0x100 - projectRamUsage) / sizeof(uint16_t)) // use as much RAM as possible #define RANGE_EXTENSION_BITS 4 // factor for upper measurement range = 2^(RANGE_EXTENSION_BITS+1)[/c]
projectRamUsage = 380+64 }; static const uint16_t bufSize = ((RAMEND - 0x100 - projectRamUsage) / sizeof(uint16_t)); static const uint8_t RANGE_EXTENSION_BITS = 4; [/c] So müsste es gehen
-
Thread
Reset ohne Debugger ATSAM4E
TimeToken = xSemaphoreCreateMutex(); SD_Data_Queue_id = xQueueCreate(ANZ_SD_QUEUE_ELEMENTS, sizeof(tMess_Data)); SD_COM_Queue_id = xQueueCreate(ANZ_SD_QUEUE_ELEMENTS, sizeof(uint8_t)); xReturned = xTaskCreate(SYS_Main ,"SYS_main_Task", configMINIMAL_STACK_SIZE+1000 ,NULL ,1
-
Thread
DMX-Transmitter Code von Henne’s Sites ändern
stellt werden hier 50 Channels ausgegeben. Macht man das Array größer wird durch [c]if (CurDmxCh == sizeof(DmxField))[/c] sichergestellt das dass Array nicht überläuft. [c]DmxField[0]= ~(PINC);[/c] Die DIPs werden immer in DmxField[0] gespeichert. Um das zu verhindern muss die Zeile auskommentiert
verstehen? Man deklariert gCurDmxCh als volatile und wartet in der main() bis gCurDmxCh >= sizeof(DmxField). Erst dann schreibt man neue Werte ins DmxField. Eine andere Möglichkeit wäre, dass in der ISR nachdem letztes Byte gesendet wurde, gDmxState auf z.B. EOP (EndOfPaket) gesetzt wird,
-
Thread
STM32F107 I2S3 Problem
SPI3, SPI_I2S_FLAG_TXE) == RESET); SPI_I2S_SendData(SPI3, SOUND[i++]); if( i == sizeof(SOUND)) i = 0; } [/c] So werden die Clocks konfiguriert [c] SystemInit(); RCC_I2S3CLKConfig(RCC_I2S3CLKSource_SYSCLK); RCC_PLL3Cmd(ENABLE); while (RCC_GetFlagStatus(RCC_FLAG_PLL3RDY
-
Thread
Linear Encoder (Inkremental) 40.000 Inkremente/Sec + Raspberry Pi?
wiringPiInitialized = 1; } // Create a new encoder newEnc = (Encoder *)malloc(sizeof(Encoder)); if (newEnc == NULL) { perror("encoderInit/Memory allocation error"); exit(-1); } // Initialize encoder parameters newEnc->Num = num;
-
Thread
Assembler Includes nach C
_ __ORDER_LITTLE_ENDIAN__\000" .LASF98: .ascii "__INT32_C(c) c\000" .LASF16: .ascii "__SIZEOF_INT__ 4\000" .LASF872:[/c] Kann ich diese .asm-defines.s in meinem C-Programm verwenden? Ist das schön, sinnvoll oder evtl. sogar so gedacht diese ASM als include zu verwenden?
-
Thread
[Erklärungsbedarf] countdown-demo.zip
// addr zeigt danach auf das erste Element der Komponente DOWN (count.sec); if (!sizeof (count.min) || val > 0) return; // Eine Minute ist vergangen: Sekunden-Zähler zurücksetzen *addr = 60; ////////////////////////////////////////////////////////
-
Thread
GCC: Welches (globale) Symbol nimmt der Compiler bei gleichem Namen und Typ?
anderen "float x" steht, beschwert sich der Linker (mit -fcommon) nicht, selbst wenn wie bei avr-gcc sizeof(int) != sizeof(float) ist: Der Linker reserviert einfach das Maximum an benötigtem Platz. Erst Linken mit -flto liefert eine Diagnostic, welche dann allerdings vom Compiler kommt, der die globale
-
Thread
Problem mit Schleifenabbruch
::hex << (int)buchstabe << std::endl; stelle++; } while( buchstabe != 13 && stelle < sizeof(kommando)-1 ); } std::cout << kommando << std::endl; return 0; } [/c]
CRLF_Out(wo); DoCommand (Kommandozeile, wo); foo_clear(Kommandozeile, sizeof(Kommandozeile)); kzi = 0; return; } if (kzi >= (sizeof(Kommandozeile)-1) ) // buffer full => ignore input return; if (c == '\b') // delete last
-
Thread
Name für variable
Info hast du von wo? [c] #include <stdio.h> static int tmp_n[3] = {1,2,3}; int *n = tmp_n + sizeof(tmp_n)/sizeof(*tmp_n) - 1; int main(){ printf("%d %d %d\n",n[0],n[-1],n[-2]); return 0; } [/c] [pre] daniel@Daniels-Surface-Pro-3:~$ gcc -std=c99 -Wall -Werror -pedantic main.c -o main
-
Thread
c-Code Verständniss
umsetzung. [code] const char powerUp[] = { RF_POWER_UP }; spi_send_char_array_thing(powerUp, sizeof(powerUp)); [/code] </pseudocode>
-
Thread
Atmega8 mit fertigem C-Code, Probleme beim compilieren und Chip programmieren
einen einzelnen zwei-dimensionalen array implementieren (und mit Nullen am Ende auffüllen). Statt sizeof checkst du dann ob das array Element, auf das i zeigt, ungleich 0 ist. Weiterhin solltest du innerhalb der Interrupt Routine nicht die langsame ADC Operation betreiben. Sowas gehört in die main