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

Problem z przerobieniem programu z ATmegi8 na ATtiny25

Tomekddd 04 Paź 2009 20:35 2151 13
  • #1 7091172
    Tomekddd
    Poziom 23  
    Witam. Napisałem program do sterowania pompą i na Atmedze8 działa bez problemu a gdy go przerobiłem pod ATtiny25 to nawet nie moge go skompilowac bo wywala jakieś błędy nie wiem jak to uruchomić prosze o pomoc.

    przy próbie kompilacji wywala Error 46, Error 31, Error 350

    Program dla Atmegi8
     $regfile = "m8def.dat"
    $crystal = 8000000
    
    Config Pinb.2 = Output                                      ' pompa
    Config Pinb.1 = Output                                      ' dioda
    
    Config Timer1 = Timer , Prescale = 256
    
    On Timer1 Sekunda
    
    Dim Sekundy As Byte
    Dim Minuty As Byte
    
    Enable Interrupts
    Enable Timer1
    
    Counter1 = 34286
    
    Set Portb.2
    Set Portb.1
    
    Do
     If Minuty = 0 Then
     Gosub Pompastart
     Elseif Minuty = 3 Then
     Gosub Pompastop
     Elseif Minuty = 30 Then
     Gosub Pompastart
     Elseif Minuty = 33 Then
     Gosub Pompastop
     End If
    Loop
    
    Sekunda:
    Toggle Portb.1
    Counter1 = Counter1 + 34286
    Incr Sekundy
    If Sekundy = 60 Then
    Sekundy = 0
    Incr Minuty
       If Minuty = 60 Then
       Minuty = 0
       End If
    End If
    Return
    
    Pompastart:
    
    Portb.2 = 0
    
    Return
    
    Pompastop:
    
    Portb.2 = 1
    
    Return
    
    
    


    Program dla ATtiny25
    $regfile = "ATtiny25.dat"
    $crystal = 8000000
    
    Config Pinb.2 = Output                                      ' pompa
    Config Pinb.1 = Output                                      ' dioda
    
    Config Timer1 = Timer , Prescale = 256
    
    On Timer1 Sekunda
    
    Dim Sekundy As Byte
    Dim Minuty As Byte
    
    Enable Interrupts
    Enable Timer1
    
    Counter1 = 34286
    
    Set Portb.2
    Set Portb.1
    
    Do
     If Minuty = 0 Then
     Gosub Pompastart
     Elseif Minuty = 3 Then
     Gosub Pompastop
     Elseif Minuty = 30 Then
     Gosub Pompastart
     Elseif Minuty = 33 Then
     Gosub Pompastop
     End If
    Loop
    
    Sekunda:
    Toggle Portb.1
    Counter1 = Counter1 + 34286
    Incr Sekundy
    If Sekundy = 60 Then
    Sekundy = 0
    Incr Minuty
       If Minuty = 60 Then
       Minuty = 0
       End If
    End If
    Return
    
    Pompastart:
    
    Portb.2 = 0
    
    Return
    
    Pompastop:
    
    Portb.2 = 1
    
    Return
    
    
    
  • Pomocny post
    #2 7091452
    alien_audio
    Poziom 21  
    Witam.
    Problem leży w obsłudze Timera1. W Bascomie Timer1 jest uważany jako 16 bitowy. Natomiast układ ATiny25 posiada liczniki 8 bitowe. A więc nie możesz użyć Timera1
    a jedynie Timera0 ( 8-bitowy ) i odpowiednio zmodyfikować program.
  • #3 7091489
    Konto nie istnieje
    Poziom 1  
  • #4 7091652
    Tomekddd
    Poziom 23  
    no to kaszana a jak ten program dostosowac do attiny25? jeszcze go nie kupilem i jak sie nie da to będzie na atmedze8
  • #5 7091707
    Konto nie istnieje
    Poziom 1  
  • #6 7091794
    Tomekddd
    Poziom 23  
    cos czuje ze tak to z dokładnoscią tego będą spore problemy, kurcze myślałem że wybór procka to pikuś ale widze ze jednak nie
  • #7 7091804
    Konto nie istnieje
    Poziom 1  
  • #8 7091811
    Tomekddd
    Poziom 23  
    skoro trzeba aż tak kombinowac to dam atmege8 i bedzie po klopocie tylko czy do niej musze podciacac zasilanie do AVCC? chyba nie skoro z tego nie kozystam

    Dodano po 46 [sekundy]:

    8Mhz to kwarc dlatego mam problem z prockiem
  • Pomocny post
    #9 7091828
    Konto nie istnieje
    Poziom 1  
  • #10 7091834
    Tomekddd
    Poziom 23  
    no to jeszcze pokombinuje. A czy to idzie sprawdzić na atmedze bo jeszcze attiny nie mam

    Dodano po 3 [minuty]:

    a to AVCC i AGND to pisałeś w innym temacie ze to do przetwornika ADC i dlatego pytam bo go nie używam w programie
  • #11 7091847
    Konto nie istnieje
    Poziom 1  
  • #12 7091890
    Tomekddd
    Poziom 23  
    na prockach sie nie znam za bardzo i dlatego tak skakam od jednego do drugiech. Do tego programu potzrebuje mały prcek ale zeby działa jak trzeba :) mam Atmege8 na stanie więc mozna programy stestować. Części do sterownika będe zamawial w seguro a tam jest Attiny25 za ok 5zł atmega jest droższa tyle ze attiny w SMD i to tez kaszana

    jaki procek byś radził do tego
  • #13 7091908
    Konto nie istnieje
    Poziom 1  
  • #14 7091917
    Tomekddd
    Poziom 23  
    to własnie do tamtego tematu nawiązuje a nie chiałem już w tamtym mieszać
    musze kupic w seguro bo jeszcze do sterownika wszystkie inne elementy musze kupic a po allegro tzreba by zbierac od ludzi a tak to bedzie ze sklepu jedna paka
REKLAMA