[8535] Problem z komunikacja

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
Domel
-
Posty: 19
Rejestracja: 19 paź 2005, 12:03
Lokalizacja: Sosnowiec
Kontakt:

Post autor: Domel » 12 sie 2008, 22:07

grysek67 pisze:
Domel pisze:a w progrmie tak
Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Porta.3 , Rs = Porta.2


dobrze ????
Reset wyswietlacza masz podpięty do PB.2?
no comment :D
DZIAŁA :D
GRA I BUCZY :D:D:D
programik tez poprawiłem :D
WIELKIE DZIEKI :D:D:D

Reset miałem dobrze podpiety ENABLE był źle :D:D:D

EDIT: 12.VIII.2008

całośc wygla mniej wiecej tak:
Obrazek
napisałem program....

Kod: Zaznacz cały

$regfile = "m8535.dat"
$crystal = 8000000

Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2
Config Lcd = 16 * 2

Config Porta = &B11111111       'port a obsługuje WYJSCIA routera
       Porta = &B11111111

Config Portd = &B11111111       'port d obsługuje WEJSCIA routera
       Portd = &B00000000

Config Portc = &B11111111       'wr PC5 i latch PC4 wyjsciami
       Portc = &B00010000

Cls
Lcd "switch video"       'razem 38 znaków

Do


Set Porta.0
Reset Porta.1
Reset Porta.2

Set Portd.0
Reset Portd.1
Reset Portd.2
Reset Portd.3

Waitms 100
Reset Portc.4
Waitms 100
Set Portc.5

Waitms 100
Set Portc.4
Waitms 10
Reset Portc.5
Waitms 100

Loop : End
według tego schematu
Obrazek
tutaj opisałem wejscia i wyjscia routera
Obrazek
program działa tak wstepnie i router elegancko przepuszczał mi sygnały z generatora PAL...
ale cos mnie podksusiło zeby dopisac po LOOP drugi raz to samo

Kod: Zaznacz cały

Do

Set Porta.0       ' 1
Reset Porta.1    ' 0   wyjscie routera 2
Reset Porta.2    ' 0

Set Portd.0        ' 1
Reset Portd.1     ' 0
Reset Portd.2     ' 0   wejscie routera 2
Reset Portd.3     ' 0

Waitms 100
Reset Portc.4
Waitms 100
Set Portc.5

Waitms 100
Set Portc.4
Waitms 10
Reset Portc.5
Waitms 100

Loop

Do


Set Porta.0       ' 1
Set Porta.1       ' 1          wyjście routera  4
Reset Porta.2    ' 0

Set Portd.0       ' 1
Set Portd.1       ' 1
Reset Portd.2    ' 0        wejscie routera 4
Reset Portd.3    ' 0

Waitms 100
Reset Portc.4
Waitms 100
Set Portc.5

Waitms 100
Set Portc.4
Waitms 10
Reset Portc.5
Waitms 100

Loop : End
ale dla roznych wejsc i wyjsc i cos sie zwaliło bo mimo ze wszystkie stany logiczne sa ustwione zgodnie z wykresem czasowym sygnał dochodzi do routera to z niego juz nie wychodzi... i ugrząsłem i nie wiem co zrobić...

;/
nie wiem czy teraz router jest zwalony l...

wstepnie chciałem napisac i napisałem program dla wejscia 2 i wyjscia 2 i chodziło ładnie a jak dopisałem program dla wejscia tam np 3 i wyjscia 4 juz mi router nie zaskoczył...
nie wiem czy go czasem nieuszkodziłem przez to...
grrr..

help :)
any ideas ?
to tylko wstepny program

_____________________________
wykasowałem puste linię co zmniejszyło rozmiar posta o połowę = przejrzystość, Spark
Ostatnio zmieniony 10 wrz 2008, 19:19 przez Domel, łącznie zmieniany 1 raz.

Awatar użytkownika
grysek67
Użytkownik
Posty: 315
Rejestracja: 27 cze 2007, 6:34
Lokalizacja: Limanowa
Kontakt:

Post autor: grysek67 » 14 sie 2008, 10:22

Domel pisze:ale cos mnie podksusiło zeby dopisac po LOOP drugi raz to samo
Problem nie tkwi w tym raczej, ponieważ procesor nawet nie wyszedł z pierwszej pętli DO..LOOP - więc nie mógł wejsc w drugą a są to pętle nieskonczone

Domel
-
Posty: 19
Rejestracja: 19 paź 2005, 12:03
Lokalizacja: Sosnowiec
Kontakt:

Post autor: Domel » 10 wrz 2008, 16:53

dobra tamten problem rozwiązałem.

pojawił sie nastepny.

Zeby router mogł działac najpierw musze okreslic wyjscie potem wejscie i całośc wypuszczam na router który otwiera przejscie.

postanowiłem ze zapisze to wszystko do eepromu

Kod: Zaznacz cały

$regfile = "m8535.dat"
$crystal = 8000000



$eeprom


Wyjscie4:
Data

' -------------- wyjscie 4 -------------- '

Set Porta.0
Set Porta.1
Reset Porta.2

' -- Turn on the buffer selected by A2-A0,or restore the previously connected channel -- '


Waitms 10
Reset Portd.0
Reset Portd.1
Set Portd.2
Set Portd.3


' -------------- wr i latch -------------- '

Waitms 10
Reset Portc.4
Waitms 10
Set Portc.5
Waitms 10
Set Portc.4
Waitms 10
Reset Portc.5





Wejscie7:
Data



' -------------- wejscie 7 -------------- '
Waitms 10
Reset Portd.0
Set Portd.1
Set Portd.2
Reset Portd.3

' -------------- wr i latch -------------- '

Waitms 10
Reset Portc.4
Waitms 10
Set Portc.5
Waitms 10
Set Portc.4
Waitms 10
Reset Portc.5









Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.3 , Rs = Portb.2
Config Lcd = 16 * 2

Config Porta = &B10000111       'port a obsługuje WYJSCIA routera
       Porta = &B11111111

Config Portd = &B11111111       'port d obsługuje WEJSCIA routera
       Portd = &B00000000

Config Portc = &B11111111       'wr PC5 i latch PC4 wyjsciami
       Portc = &B00010000








Do

Reedeeprom Wyjscie4
Reedeeprom Wejscie7



Loop

Return
na razie proba zapisu i odczytu do eepromu...


troche sie naczytałem o tym eepromie ale i tak nie wiem czy dobrze to robie.

chce jednym guzikiem podpietym do pinu a wybierac wyjscie drugim wejscie a np trzecim akceptowac i puscic całosc do routera by on otworzył przejscie.

chce wszystkie wyjscia i wszystkie wejscia wpisac do epromu apotem "jakos" wywołac wyjscie potem wejscie , za akceptowac i puscic na router...

za wszelkie uwagi z góry dziekuje :)

ODPOWIEDZ