logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[BASCOM] Jak stworzyć menu wyboru programów w mikroprocesorze?

Mad Jaro 30 Paź 2018 19:20 747 5
  • #1 17528799
    Mad Jaro
    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ć ?
  • #2 17528857
    dasej
    Poziom 32  
    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!
  • #3 17528891
    pawel1029384756
    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ą.
  • #4 17528939
    Press
    Poziom 24  
    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.
  • #5 17528944
    Mad Jaro
    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.
  • #6 17530383
    Mad Jaro
    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: VB.net
    Zaloguj się, aby zobaczyć kod
REKLAMA