=?iso-8859-2?B?bmllbW+/bm+25iBvcHVzemN6ZW5pYSBw6nRsaSAtIEJhc2NvbQ==?=



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "pw" <pw2_at_nospam_poczta.of.pl>
Subject: =?iso-8859-2?B?bmllbW+/bm+25iBvcHVzemN6ZW5pYSBw6nRsaSAtIEJhc2NvbQ==?=
Date: Wed, 23 Oct 2002 18:57:03 +0200


Chcę zrobić układ uruchomieniowy dla 8051
(na 8751).
Wysyłałbym plik .bin - wynik kompilacji
portem com do płytki uruchomieniowej.
Tam dane są zapisywane w pamięci SRAM (zewn.
pamięć danych, wtedy pamięcią programu jest
wewnętrzny EPROM w 8751), która
później po wpisaniu wszystkich bajtów i po
restarcie procesora jest traktowana jako EPROM
(zewn. pamięć programu; wewnętrzny EPROM w
8751 - nieaktywny)

Napisałem program w Bascomie:

$baud = 9600
$crystal = 12000000
$timeout
Dim Adres_ram As Word , Bajt As Byte 'Adres_ram - do której komórki SRAM


'jest wpisywany bajt

Adres_ram = 0 'wyzerowanie adresu SRAM
'przed wpisaniem tam
programu
'odebranego z komputera

Do
Inputbin Bajt Timeout = 100 '<-----------
Out Adres_ram , Bajt
Incr Adres_ram
Loop

End
__________

I nie wiem jak opuścić pętlę oznaczoną strzałką,
tzn. np. program ma 400 bajtów, wszystkie zostały
wpisane i procesor czeka w nieskończoność na
401 bajt.
Co zrobić żeby po ostatnim bajcie procesor
zrezygnował z odbioru danych przez port szeregowy ?



Poprzedni Następny
Wiadomość
Spis treści
From: "JJMafia" <jjmafia_at_nospam_poczta.fm>
Subject: Re: niemożność opuszczenia pętli - Bascom
Date: Thu, 24 Oct 2002 15:40:09 +0200


Napisałem program w Bascomie:

$baud = 9600
$crystal = 12000000
$timeout
Dim Adres_ram As Word , Bajt As Byte 'Adres_ram - do której komórki
SRAM


'jest wpisywany bajt

Adres_ram = 0 'wyzerowanie adresu SRAM
'przed wpisaniem tam
programu
'odebranego z komputera

Do
Inputbin Bajt Timeout = 100 '<-----------
Out Adres_ram , Bajt
Incr Adres_ram
Loop

Zmieniasz na :

Loop Until Adres_ram = 400 'powtarza pętlę DO-LOOP aż Adres_ram
osiągnie wartość 400
Polecam help do Bascoma po polsku i wszystko się wyjaśni.Do pobrania na na
stronie :
http://www.mcselec.com/download_8051.htm

I nie wiem jak opuścić pętlę oznaczoną strzałką,
tzn. np. program ma 400 bajtów, wszystkie zostały
wpisane i procesor czeka w nieskończoność na
401 bajt.
Co zrobić żeby po ostatnim bajcie procesor
zrezygnował z odbioru danych przez port szeregowy ?





Poprzedni Następny
Wiadomość
Spis treści
From: zielpro_at_nospam_cavern.pl (ziel)
Subject: =?iso-8859-2?Q?Re:_niemo=BFno=B6=E6_opuszczenia_p=EAtli_-_Bascom?=
Date: 24 Oct 2002 15:51:49 +0200


Chcę zrobić układ uruchomieniowy dla 8051
(na 8751).
Wysyłałbym plik .bin - wynik kompilacji
portem com do płytki uruchomieniowej.
Tam dane są zapisywane w pamięci SRAM (zewn.
pamięć danych, wtedy pamięcią programu jest
wewnętrzny EPROM w 8751), która
później po wpisaniu wszystkich bajtów i po
restarcie procesora jest traktowana jako EPROM
(zewn. pamięć programu; wewnętrzny EPROM w
8751 - nieaktywny)

A bufory są przełączane?

Inputbin Bajt Timeout = 100 '<-----------
Out Adres_ram , Bajt
Incr Adres_ram
Loop
Loop until bajt=

End
__________

Dim Maks_ram as word
Do
Inputbin Bajt Timeout=100
If Adres_ram=0 Then
maks_ram=bajt 'Maks_ram dodatkowa zmienna ograniczajace
'wielkość odczytywanego kodu
'Oczywiście ten bajt musi byc dodatkowo wysłany jako pierwszy
Else
Out Adres_ram , Bajt
Incr Adres_ram
End If
Loop Until Adres_ram > Maks_ram
End
Oczywiście program w takiej postaci nie zadziała,
jest jedynie pokazaniem jak wyjść z pętli.

pzdr
Artur

--
Archiwum grupy: http://niusy.onet.pl/pl.misc.elektronika