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

AtMega328p - RS485 + obsługa zapisu SD - nada się ?

maximus22_kr 10 Paź 2011 23:44 2401 5
REKLAMA
  • #1 10014571
    maximus22_kr
    Poziom 18  
    Witam
    Czy procesor AtMega 328p wyrobi się przy założeniu:
    Odczyt danych z RS485
    Zapis danych na karcie SD

    Zakładam tak:
    PD0, PD1 - UART
    PD3 - przełączanie transmisji RS485
    PC4, PC5 - I2C ( TWI ) pod EEPROM + PCF8563
    PC0, PC1, PC2, PC3 - linie danych wyświetlacza
    PB1, PB2 - linie E i RS wyświetlacza
    PB3 ( OC2A ) - podświetlanie wyświetlacza
    PD4, PD5, PD6, PD7 - programowe SPI dla karty SD

    Odpytywanie urządzeń chciałbym zrobić przy użyciu Timer'a ( lub w wersji prostszej przy użyciu zegara PCF8563, ale z jego dokładnością różnie bywa )

    Mam program z obsługą PCF8563, LCD i zainicjowanym programowym SPI dla karty SD - Bascom donosi zajętość 19 % pamięci.

    Czy można przyjąć, że AtMega328p to AtMega32 tylko w mniejszej obudowie ?
  • REKLAMA
  • #2 10014587
    mirekk36
    Poziom 42  
    maximus22_kr napisał:

    Czy można przyjąć, że AtMega328p to AtMega32 tylko w mniejszej obudowie ?


    W dużym uproszczeniu można ;)

    Dodano po 1 [minuty]:

    maximus22_kr napisał:

    Czy procesor AtMega 328p wyrobi się


    Pewnie, że się wyrobi a czemu by nie ? chociaż nie wiem jak tam w Basomie z obsługą kart SD, w języku C na 100% da radę i to nawet w Atmega168
  • REKLAMA
  • #3 10014611
    maximus22_kr
    Poziom 18  
    Na Atmega 32 zapis działa bez problemu, nawet na programowym SPI, jak omyłkowo ustawiłem źle licznik i miał zapisywać co 10 sekund, to też się wyrabiał, ale chcę to zrobić na AtMega328.

    wiem, że w C są dwa projekty, które to obsługują nawet na mniejszych procesorach.
  • REKLAMA
  • REKLAMA
  • #5 10022105
    maximus22_kr
    Poziom 18  
    włożyłem AtMega328P do mojej płytki, w której dotychczas siedział AtMega8 ( kwarc 4 MHz ), bo zgodność wyprowadzeń jest.
    Fuse bity ustawiłem tak samo jak w AtMega8 - przynajmniej te, które występowały w obydwu procesorach

    LCD działa, I2C również, czas i data jest wyświetlany, natomiast wskazania dwóch termometrów są 0.0

    Poza tym procesor "wstaje" z opóźnieniem, trzeba poczekać z 2-3 sekundy zanim włączy podświetlanie i zacznie coś wyświetlać.

    Czy trzeba coś w Fuse bitach pogrzebać, żeby zadziałało ?

    A propo grzebania w Fusebitach , to opcje debugWIRE zmieniłem na Enabled i procesor nie jest widziany przez programator - da się coś z tym zrobić ?
  • #6 10022252
    maxiu25
    Poziom 16  
    Witam
    Według mnie bez problemu można zamieniać procesory ATmega48A/48PA/88A/88PA/168A/168PA/328/328P - ta sama rodzina.
    Atmega32 ma całkiem inne rejestry timerów itd.
REKLAMA