Sida 2 av 2

Re: Löst: Cast pointer, ansi c

Postat: 18 november 2016, 15:12:12
av Icecap
OK då.
const unsigned char EttVettigNamn[] = {0x03, 0x05, 0x08};
har sizeof() = 3;

Re: Löst: Cast pointer, ansi c

Postat: 18 november 2016, 15:17:49
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! =)

Re: Löst: Cast pointer, ansi c

Postat: 18 november 2016, 15:26:50
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.

Re: Löst: Cast pointer, ansi c

Postat: 18 november 2016, 17:27:11
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.

Re: Löst: Cast pointer, ansi c

Postat: 18 november 2016, 17:52:02
av lillahuset
Och då har vi gått varvet runt. En vektor med värden och ett index vi inkrementerar.

Re: Löst: Cast pointer, ansi c

Postat: 18 november 2016, 17:57:30
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.

Re: Löst: Cast pointer, ansi c

Postat: 18 november 2016, 20:03:29
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.