Icecap
Aha, jag tror att jag förstår
Nu vet jag att ni kommer hoppa på mig, men mycket av det sätt att skriva i PHP kommer ju från C och liknande språk. Upplägget på hur man skriver IF satser, skriver funktioner osv. Sen visst, det ser olika ut och man initierar variabler, char, arrays, int och så vidare på ett annat sätt i C. Det "slipper" man ju göra i PHP. Man har ju dessutom ett par gigabyte att spela med när man programmerar PHP så där gör det oftast inte så mycket om det blir några tecken eller funktioner mer än vad som behövs
sodjan
Ah jo, men anledningen till att det varit ovisst är ju för att jag än så länge bara har kommunicerat mellan PC och en AVR. Så därför har jag ju fått en hel massa problem att handskas med, som om jag bara körde med AVR hade sluppit.. tydligen
När det gäller prestanda är det ju inte något som är super-super viktigt.. Jag vill helst bara ha så hög hastighet som möjligt med så lite datamängd som möjligt för att hålla nätet tyst när sändarna och mottagarna är nöjda. När det behövs sändas något så ska det gå fort och helst så rent som möjligt. Det är ju givetvis något man får utveckla med tiden och förbättra allteftersom, men det är mitt "mål".
Ja jo, men det var det jag tänkte med enum. Har inte använt det något direkt tidigare, bara lite exempel för att se hur den fungerade. Men jag tyckte det saknades ett namn
Sen är ju frågan, varför man gör så. Det är väl inte samma som att man i toppen av .C filerna definierar, vad heter det.. funktionerna utan själva innehållet?
Kod: Markera allt
void minFunktion(int antal);
..och längre ner på sidan har man själva funktionen..
void minFunktion( int antal )
{
// saker att utföra..
}
Det är väl inte samma sak?
Jag tänker mig att Icecap använder enum funktionen för att sätta siffror på funktioner som finns tillgängliga som sedan anropas i form med commands[1] när han får in ett paket som
STX "01" "02" "32" "xx" ETX, där första delen av kodblocket består av 01. Skulle det kunna stämma eller går det inte att göra så i C?
Nej STX/ETX kanske inte är det bästa, om man ser på kompatibilitet med vanliga terminalemulatorer, men mellan processorerna ska det ju fungera, har jag förstått nu?

Man skulle kanske kunna ha 0xFF som start och 0xFE som slut annars? Det blir ju i stort sett samma funktion, bara andra värden som inte har några kontrollfunktioner?
Gällande projektet, ja det är ju ett annat sätt att se på det. Men jag ser det mer som att många delar av det som funnits tillgängligt för projektet inte går att få tag på längre som scheman, kod osv. Endast protokoll-dokumentationen och lite bilder på hur kontrollprogrammet ser ut finns kvar. Det i sig räcker säkerligen för att uppfinna egna moduler som använder samma teknik, inget ont menat.
Men det skulle vara kul om de själva gjorde uppdateringar med ny kod, fler moduler osv
Slutligen, jag är enormt tacksam för diskutionerna i denna tråd, jag har lärt mig massor och förhoppningsvis kommer det leda till att andra kan få idéer och tips om hur de ska lösa sina projekt.
Ultimat skulle jag nog helst vilja utveckla det hela utan några problem med tolkningen av data. Det verkar ju inte vara så lätt om man inte ska begränsa sig till vissa tecken som är godkända enligt standard. Så, jag kanske skulle ta och låta AVR'erna prata med varandra bara istället.
Då uppstår ett annat problem, hur jag ska visa inkommande data på en LCD display. Om jag skickar datavärdet som INT så ser jag ju en representation i decimal form... Nej stopp..!
labmaster
Till att börja med, jag förstår hela ditt inlägg fram tills sista 5 raderna.. Det blev lite krångligt
labmaster skrev:...Nar jag debugar ett kommunikationsprotokoll mellan två mikroprocessorer ser jag till att ha dator med debugger till varje mikroprocessor. Ett sätt att slippa debugger på både mottagere och sändare kan vara att skriva ett program som emulerar mottagarsidan och dumpar byte för byte som kommer i kommunikationskanalen i hexformat till ett fönster på en PC. På så sätt kan man försäkra sig att rätt data kommer...
Det är det jag skrivit om tidigare, att jag vill skapa ett sådant program på datorn för kommunikation med AVR kretsarna i samma protokoll som ska köras internt på AVR kretsarna. Det kunde dock bli problem om man skickar kontrollbitarna dec 0-32 i alla fall? Hur som helst, om man skriver ett sådant program, så slutar ju inte användningen bara vid utvecklingen av protokollet, utan kan ju både användas som debugger men även vidare styrning av systemet om så skulle önskas.
Så ett eget program som kan kommunicera med systemet är ju helt klart något jag måste göra, vid något tillfälle
labmaster skrev:...Ett annat sätt kan vara att implementera kommunikationskanalen i samma AVR...
Det är ju också ett sätt, fast kanske inte precis lika tydligt på utsidan av kretsen som kanske output till UART alt. LCD skulle kunna vara. Men klart det går, bra sätt att lägga på minnet!
State machine känner jag ju igen, det tog ju Icecap upp tidigare tror jag plus att jag förmodligen arbetat med det.. jo i PHP faktiskt.. tror jag.. Hur som helst, givetvis, det används ju för att gå vidare när man känner av exempelvis ett visst tecken eller i mitt fall kanske en viss bit i den inkomna datan.
Just ja,gällande;
labmaster skrev:...Om du kopplar ihop det två AVR:erna med exempelvis RS232 behövs i princip ingen checksumma eller adressfält i databpaketet som du sänder...
Tack vare uppbyggnaden eller funktionen om man kanske ska säga så med ett RS485 nät, som jag ska haka på efter jag utvecklat första delen av protokollet, så kan jag ju hänga på flera moduler på kommunikationslinan. Därav att jag både vill ha CRC och adressfält för att kunna rikta in mig på en specifik modul för en specifik uppgift. Ex. fråga om en specifik modul fortfarande lever

Eller kanske fråga om temperaturen från just en specifik modul..
Edit..
Vet ni vad.. vet ni vad Atmel kan vara duktiga ibland.. (
jag kanske också för att jag använde ögonen och hittade funktionen 
)
Den terminalemulator som finns att ladda ner som ett insticksprogram till AVR Studio, den klarar att visa inkommande data som ASCII, Hex, Dec samt Bin.. Att skicka kan man dock bara göra i Hex och ASCII men det gör det samma.. Nu har jag äntligen den kommunikation som jag behöver för att kunna utveckla det protokoll som jag önskar
Helt underbart... heeelt underbart!!
Det blir mest säkerligen en hel del frågor till framöver, men nu har jag åtminstone mitt sätt att se det på.. Den representation jag vill se

dvs HEX
Men ändå, oavsett om detta inlägg blir slutet på tråden eller inte, så vill jag verkligen tacka alla som medverkat och kommit med inlägg av alla dess slag. Jag är väldigt tacksam för all hjälp, alla råd, tips och idéer.
Det roligaste av allt är, när jag får ihop kod så som jag vill ha det så blir det open source, och då kan ni se fram emot att läsa massa kod som ni kan kommentera vidare på

Jag ska göra mitt bästa för att ni inte ska hitta några fel
