Potrzebuje połączyć szeregowo dwa mikrokontrolery 89c2051.Zależy mi na transmisji w jedną strone. Pierwszy wysyła jeden bajt np(120) do drugiego. Drugi rozpoznaje czy bajt ma wartość 120, jeżeli tak to zapala diode zieloną ,jeżeli inną to czerwoną. Kombinuje z funkcjami input inputbin i print printbin i nic. Może uratuje mnie wstawka asemblerowa, jak tak to jaka.Moje ustawienia to
$crystal = 12000000
$baud = 2400
Dzięki za podpowiedzi .
komunikacja 89c2051 za pomocą uart
-
ZbeeGin
Dobrze kombinujesz. PRINTBIN i INPUTBIN będą najlepsze.
Od strony nadawczej:
A od strony odbiorczej:
-------------
Mógłbyś także użyć PRINT i INPUT ale wtedy należy przesyłać znaki - czyli należy zastosować konwersję.
Nadawanie:^^^^^^^^^^
Odbieranie:
Przy czym w tym wypadku przesyłane będą dwa znaki: ten właściwy oraz o kodzie 13 (powrót karetki). Znak o kodzie 13 będzie informacją dla INPUT, że to już koniec i dalszych znaków nie odbieraj w tym poleceniu.
ps. Wojtek - "wywala się" w tej linii z Print jeśli pomiędzy Chr a nawiasem nie ma spacji.
Od strony nadawczej:
Kod: Zaznacz cały
$crystal = 12000000
$baud = 2400
Dim cowyslac As Byte
cowyslac = 120 'magic number
PrintBin cowyslac
Wait 1
cowyslac = 10
PrintBin cowyslac
EndKod: Zaznacz cały
$crystal = 12000000
$baud = 2400
Dim odebrano As Byte
Do
Set P1.0 'zielona dioda
Set P1.1 'czerwona dioda (sterowane katodami!!)
InputBin odebrano
If odebrano = 120
Then Reset P1.0
Else Reset P1.1
End If
Wait 1
Loop
EndMógłbyś także użyć PRINT i INPUT ale wtedy należy przesyłać znaki - czyli należy zastosować konwersję.
Nadawanie:
Kod: Zaznacz cały
Print Chr (120)Odbieranie:
Kod: Zaznacz cały
Dim znak As String * 1
Dim zmienna As Byte
INPUT znak
zmienna = ASC(znak)ps. Wojtek - "wywala się" w tej linii z Print jeśli pomiędzy Chr a nawiasem nie ma spacji.
ok i dzięki
Dzięki wszystkim za zainteresowanie, a szczególnie ZbeeGin który rozwiał moje wątpliwości co do słuszności programu który napisałem. Okazało się że układy muszą mieć wspólną mase i wszystko hula jak należy .Teraz zamierzam zrobić to samo drogą radiową poprzez moduły BT27 I BR27 (STE) firmy Gamma.
-
ZbeeGin