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

ATMEGA 8515 i wewnętrzny eprom

KK6 14 Sty 2012 01:47 1210 2
REKLAMA
  • #1 10394005
    KK6
    Poziom 2  
    Mam sobie taką o to tablicę w epromie:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Oraz taką funkcję czytającą z tejże epromowej tablicy:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    W programie dokonuje odczytu z tej pamięci w taki sposób:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    I w drugim miejscu wczytuję tak dane:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Problem w tym, że porównywanie kodów(zarówno ibuttonów jak i kodu do drzwi) nie działa. Kody do odczytu znalazłem na internecie, więc może brakuje w nich czegoś. Jeśli ktoś bawił się z pamięciom eprom i ma jakieś sugestię to proszę o pomoc. Pewnie to jakiś drobny błąd logiczny w kodzie. Możliwe też(i nawet bardzo skoro mam z tego warunek :-P), że trzeba, gdzieś jak zwykle ustawić jakieś zegary czy flagi, a ja z moją ubogą wiedzą o tym nie wiem. Z góry dzięki za pomoc.

    A tu pełny kod programu do płytki nadajnika(może akurat tu jest błąd, a nie w samym odczycie):

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    P.S. Wiem, że pisze się uŻytkownik, ale chcę wiedzieć czy prowadzący przeglądają kody programów w raporcie:P
  • REKLAMA
  • #2 10394046
    mickpr
    Poziom 39  
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Tak na pierwszy rzut oka: Ten kod zadziała, jeśli w tabelce tab[] będziesz miał pięć elementów takich samych jak zawartość EEPROM w komórce 0
  • #3 10394286
    KK6
    Poziom 2  
    Ten fragment ma właśnie to robić:) Tzn do tablicy tab wprowadzane są znaki które użytkownik wprowadził na klawiaturze. Może problem jest właśnie w wprowadzaniu tych znaków?


    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
REKLAMA