Löst: Cast pointer, ansi c

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
Icecap
Inlägg: 26147
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Löst: Cast pointer, ansi c

Inlägg av Icecap »

OK då.
const unsigned char EttVettigNamn[] = {0x03, 0x05, 0x08};
har sizeof() = 3;
bearing
Inlägg: 11260
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Löst: Cast pointer, ansi c

Inlägg av bearing »

Xyzzy skrev:mest för att minska på raderna i koden, dvs göra allt lite renare då detta anropet behöver göras många gånger i slutgiltiga koden.
Minska raderna kod och göra det renare?
Det är väl just därför det finns möjlighet att skapa funktioner! =)
Användarvisningsbild
Icecap
Inlägg: 26147
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Löst: Cast pointer, ansi c

Inlägg av Icecap »

"Renare" är i mitt tycke att man ger t.ex. dessa variabler namn som gör deras funktion enkel att läsa ur källkoden.

Min erfarenhet är att om man börjar klämma in "smarta funktioner/makron" för att minska källkodsstorleken skjuter man sig i foten ganska duktigt.
bearing
Inlägg: 11260
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: Löst: Cast pointer, ansi c

Inlägg av bearing »

Nja, det är väl inte det här det handlar om.

Det är väl snarare att ersätta:

Kod: Markera allt

uint8_t data = 1;
_system_unit_out(&data, 1);
uint8_t data = 20;
_system_unit_out(&data, 1);
uint8_t data = 3;
_system_unit_out(&data, 1);
uint8_t data = 40;
_system_unit_out(&data, 1);
uint8_t data = 5;
_system_unit_out(&data, 1);
Med

Kod: Markera allt

writeUnit(1);
writeUnit(20);
writeUnit(3);
writeUnit(40);
writeUnit(5);
Tycker jag ser snyggare ut i alla fall. Och har väl inga nackdelar.
Användarvisningsbild
lillahuset
Gått bort
Inlägg: 13969
Blev medlem: 3 juli 2008, 08:13:14
Ort: Norrköping

Re: Löst: Cast pointer, ansi c

Inlägg av lillahuset »

Och då har vi gått varvet runt. En vektor med värden och ett index vi inkrementerar.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: Löst: Cast pointer, ansi c

Inlägg av sodjan »

> Nja, det är väl inte det här det handlar om.

Det handlar väl om lite olika saker. Inte sällan som en specifik fråga
får ett svar som är "bättre" än vad som efterfrågades... :-)

Det Icecap menar är så klart att det i koden ska stå något i stil med:

Kod: Markera allt

writeUnit(Start_Signal);
writeUnit(First_Value);
writeUnit(Middle_Signal);
writeUnit(Second_Value);
writeUnit(Stop_Signal);
Eller vad nu de olika värderna står för...

Konstanterna definieras på lämplig plats, kanske i en .h fil som inkluderas.
Användarvisningsbild
Xyzzy
Inlägg: 1222
Blev medlem: 30 januari 2004, 22:31:07
Ort: Uppsala, Sweden

Re: Löst: Cast pointer, ansi c

Inlägg av Xyzzy »

Oj jisses vilken fart det blev. Tusen tack allihopa, både med kommentarer, tips och åsikter.

Det var precis så som bearing trodde som jag önskade mig.
Jag tyckte det sätt man tänkt sig i SDKt för att initiera radiodelen var så groteskt yxit och svårförstått. Så jag tänkte göra anropen "manuellt" till den interna SPI-bussen.
Jag tittade som hastigast på era tips igår men fick det inte att fungera men ska kolla ikväll om jag hinner.

Tack igen till samtliga.

Edit:
Fast sodjans senaste inlägg är nog också där och snuddar, jag kommer naturligtvis använda mig av de "bitnamn" som datablad och SDKt har för att sätta önskade bitar i registren.
Skriv svar