Re: Förslag på PWM, ADC, I/O och DAC IC kretsar med SPI?
Postat: 2 januari 2021, 21:47:08
Nej. Det var fel på mig.
När jag skickade
Via CuteCom (program) så skickade jag egentligen
Så det var 26 tecken. Jag testade att rengöra PCB kortet igen och nu for alla störningar bort. Jag kör på 9600 baudrate.
Problemet som jag har är att det är ett dåligt protokoll.
Först skickar jag 25 bytes med kommandon. Då svarar min apparat med 23 bytes av mätdata. Men går det lite för snabbt, så finns det risk att det blir felindexering. Så där har jag ett problem.
Enklaste är att köra med 100 ms per meddelande. Men sådant är inte seriöst.
Eller det kanske är snabbt med tanke på att jag skickar 25 bytes åt gången? Jag menar, jag kan lika gärna skicka 1000 bytes per 100 ms.
Problemet är att det är ju en vanlig PC som kommunicerar med ett realtidssystem(STM32). Skulle datorn vara lite seg så kanske två meddelanden blir ett meddelande.
Vad tror ni om detta protokoll?
Där status är bara 1 byte och data är 24 byte när det kommer till Dator -> PC
Då har jag först meddelandet:
Där nolla betyder "Invänta meddelande". X i detta fall är data som inte räknas.
Då förväntar jag mig svar från STM32 -> Dator
Där 1 är "OK"
Då skickar jag mitt meddelande från Dator -> STM32
När jag har skickat min data så förväntar jag mig att få mätvärden tillbaka från STM32 -> Dator
Är detta ett OK protokoll? Jag har självklart blocking på så att jag verkligen inväntar X antal bytes.
När jag skickade
Kod: Markera allt
1ABCDEFGHIJKLMNOPQRSTUVWZ
Kod: Markera allt
1ABCDEFGHIJKLMNOPQRSTUVWZ\n
Problemet som jag har är att det är ett dåligt protokoll.
Först skickar jag 25 bytes med kommandon. Då svarar min apparat med 23 bytes av mätdata. Men går det lite för snabbt, så finns det risk att det blir felindexering. Så där har jag ett problem.
Enklaste är att köra med 100 ms per meddelande. Men sådant är inte seriöst.
Eller det kanske är snabbt med tanke på att jag skickar 25 bytes åt gången? Jag menar, jag kan lika gärna skicka 1000 bytes per 100 ms.
Problemet är att det är ju en vanlig PC som kommunicerar med ett realtidssystem(STM32). Skulle datorn vara lite seg så kanske två meddelanden blir ett meddelande.
Vad tror ni om detta protokoll?
Kod: Markera allt
TX: status data
Då har jag först meddelandet:
Kod: Markera allt
0 X
Då förväntar jag mig svar från STM32 -> Dator
Kod: Markera allt
1 X
Då skickar jag mitt meddelande från Dator -> STM32
Kod: Markera allt
2 Data
Kod: Markera allt
3 Data