Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[BASCOM] Dwa programy w jednym mikroprocesorze ?

30 Paź 2018 19:20 429 5
  • Poziom 16  
    Witam, czy jest możliwe napisanie wsadu w Bascomie, żeby były to dwa różne programy wybierane z menu ?

    Mam zrobione i zaprogramowane pewne urządzenie, które sprzętowo nadaje się też do innego projektu. Obecnie muszę za każdym razem przeprogramowywać atmege. Chciałbym mieć możliwość wyboru programu z menu.

    Da się to jakoś rozwiązać ?
  • Poziom 31  
    Witam.

    Jak wiesz jak napisać bootloader to do dużej pamięci flash wgraj dwa programy i z menu wybieraj
    który ma działać a bootloader będzie go kopiował z flash-a i uruchamiał.

    Pomysł na szybko!
  • Poziom 21  
    Najprościej to napisać dwie funkcję/procedury, jedna do jednego programu, a druga do drugiego. Oraz jaką prosta funkcja budująca menu, oraz uruchamiającą odpowiednią procedurę zależnie od wyboru użytkownika. Ale może się okazać, że braknie pamięci w mikrokontrolerze, a pisząc w BASCOM o to nie trudno.
    Innym rozwiązaniem była by karta pamięci i bootloader. Program bootloadera zapewnia menu, wybiera plik binarny z karty pamięci i ładuje go do pamięci flash. Ale jak mowa o gotowym urządzeniu to może być problem z modyfikacją.
  • Poziom 23  
    Z tym bootloaderem to pamiętajmy, że flash ma ograniczoną ilość gwarantowanych zapisów. Ja wiem, ze 10 000 cykli to sporo, jednak jeśli urządzenie miałoby być przełączane kilkanaście, czy nawet kilkadziesiąt razy dziennie, to może się okazać problemem. Skłaniałbym się jednak ku dwóm podprogramom przełączanym w menu.
  • Poziom 16  
    Opcja z kartą pamięci i bootloaderem odpada, tak jak mówisz wiąże się to modyfikacjami sprzętowymi. Chciałbym to rozwiązać raczej programowo.

    Czy znalazł by się ktoś chętny do pomocy w napisaniu takich dwóch podprogramów? Mam dwa osobne programy, kwestią było by ich połączenie.
  • Poziom 16  
    Doradźcie, mam taki podprogram, wykonuje się w pętli co 1sekundę.

    Kombinuję zrobienie tych dwóch podprogramów na Select Case, z tym, że nie mogę przenieść tej całej składni do Case, wyskakuje błąd:
    LOCAL must be used outside structures such as IF THEN , DO and WHILE [TEMP_oblicz AS INTEGAR


    Kod: vbnet
    Zaloguj się, aby zobaczyć kod