AVR C - sträng hoppar in i annan, utan anledning!
Postat: 14 juli 2015, 21:53:00
Hej på er,
Sitter och håller på med tester av AES kryptering, som jag skrivit om för någon dag sedan.
Men helt plötsligt så får jag ett jättekonstigt fel.. En sträng lägger sig automatiskt efter en annan, utan att jag bett om det.. Svårt att förklara, men se följande så kanske ni förstår.
Koden är som följer;
DÄREMOT! märkte jag efter en stund att om jag flyttar AESkey array/sträng/uint8_t/variabeln.. vad de nu kallas, så den ligger under AESdataENC delen, då händer det inte..
Det jag då förmodar är att AESkey är öppen/oavslutad, men inte vad jag kan se.. Kan ni se det? Sen borde jag ha fått ett kompiler fel i AtmelStudio, men det får jag inte heller.
Så varför fungerar följande, men inte det ovan??? - Dvs.. Jag får endast AESdataENC variabeln överskickad på UART'en med följande ordning på variablerna.
Sitter och håller på med tester av AES kryptering, som jag skrivit om för någon dag sedan.
Men helt plötsligt så får jag ett jättekonstigt fel.. En sträng lägger sig automatiskt efter en annan, utan att jag bett om det.. Svårt att förklara, men se följande så kanske ni förstår.
Kod: Markera allt
Sträng som jag vill skicka över UART till datorn;
0x41, 0x42, 0x43, 0x44, 0x40, 0x30, 0x31, 0x32
Sträng som tas emot på datorn;
0x41, 0x42, 0x43, 0x44, 0x40, 0x30, 0x31, 0x32, 0x4B, 0xFA, 0x1A, 0xBB, 0xC9, 0x87, 0x51, 0x83, 0x6D, 0x2A, 0x98, 0xDC, 0x98, 0xC1, 0xBE, 0xB5
Strängen som läggs på kommer från en annan uint8_t variabel.
Kod: Markera allt
uint8_t AESkey[] = { 0x4B, 0xFA, 0x1A, 0xBB,
0xC9, 0x87, 0x51, 0x83,
0x6D, 0x2A, 0x98, 0xDC,
0x98, 0xC1, 0xBE, 0xB5 };
uint8_t AESdataENC[] = { 0x41, 0x42, 0x43, 0x44,
0x40, 0x30, 0x31, 0x32 };
Det jag då förmodar är att AESkey är öppen/oavslutad, men inte vad jag kan se.. Kan ni se det? Sen borde jag ha fått ett kompiler fel i AtmelStudio, men det får jag inte heller.
Så varför fungerar följande, men inte det ovan??? - Dvs.. Jag får endast AESdataENC variabeln överskickad på UART'en med följande ordning på variablerna.
Kod: Markera allt
uint8_t AESdataENC[] = { 0x41, 0x42, 0x43, 0x44,
0x40, 0x30, 0x31, 0x32 };
uint8_t AESkey[] = { 0x4B, 0xFA, 0x1A, 0xBB,
0xC9, 0x87, 0x51, 0x83,
0x6D, 0x2A, 0x98, 0xDC,
0x98, 0xC1, 0xBE, 0xB5 };