HSEROUT komutu veri ekleme

Başlatan fofo, 04 Ağustos 2014, 17:37:56

fofo

 HSEROUT ["VERI=A,B,C,D,E,F,G",13,10]

Burada A,B,C,D,E,F,G ye nasıl veri ekleyebilirim. Yani istediğimiz zaman bu verileri değiştirip gönderebilmeliyiz.
Örneğin
IF PORTA.0=0 then
A=A+1
ENDIF

burada değişkenin aldığı değeri tırnak içine nasıl alabilirim.

OG

Doğru anladı isem soruyu şöyle deneyebilirmisiniz,

HSEROUT ["VERI=",@A, @B, @C, @D, @E, @F, @G, 13,10]
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

fofo

Dediğiniz şekilde çalışmadı.

OG

#3
Soru tam anlaşılmıyor.
Önce string yazıp sonra veri gitsin derseniz

HSEROUT ["VERI=", A,B,C,D,E,F,G,13,10]

Önce VERI=  yazısını yazar, ard arda değişkenleri gönderir (A,B,C,D,E,F,G),  sonra enter (13) ve satır beslemesi (10) yapar


mesaj birleştirme:: 05 Ağustos 2014, 17:08:13

Değişkenleri display etmek isterseniz başına @ ilave etmelisiniz

HSEROUT ["VERI=", @A, @B, @C, @D, @E, @F, @G, 13,10]

Her birini tırnak içinde göstermek isterseniz


HSEROUT ["VERI=", "'",@A,"""," ", "'", @B,"'"," ", "'",@C,"'"," ", "'",@D,"'"," ", "'",@E,"'", " ", "'",@F,"'"," ", "'",@G,"'", 13,10]

Aralarında 1 boşluk var.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

fofo

HSEROUT ["VERI=" bu kısım doğru gidiyor ama tırnak dışındaki datalar doğru gitmiyor. Aradaki virgüller verileri ayırmıyor.

OG

Dosyalarını (proton, isis) bir yere yukle.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

fofo

Sorunu çözdüm ,teşekkürler.

fofo

DEVICE = 16F628A
 CONFIG XT_OSC,PWRTE_ON,WDT_OFF ,MCLRE_OFF,BODEN_OFF,LVP_OFF , PWRTE_ON
   XTAL=10

DECLARE HSERIAL_RCSTA = 144 ; Enable continuous receive
DECLARE HSERIAL_TXSTA = 36  ; Enable transmit, BRGH = 1
DECLARE HSERIAL_SPBRG = 64  ; Baud Rate Generator Value
DECLARE HSERIAL_CLEAR = ON  ; Clear overflow automatically
ALL_DIGITAL TRUE
TRISA =%00000000
TRISB =%00000010
PORTA =0
PORTB =0
CMCON =7
DIM A AS BYTE
DIM B AS FLOAT
DIM C AS FLOAT
DIM D AS BYTE
DIM E AS BYTE
DIM F AS BYTE
DIM FLAG AS BYTE
A=1
B=150.4750
C=150.4750
D=0
E=2
F=1
FLAG=1

   HSEROUT ["VERI=1,150.4750,150.4750,0,2,1,1",13,10] 'çalışan komut
  
   HSEROUT  ["VERI=", DEC1 A,44,DEC4 B,44,DEC4 C,44,DEC1 D,44,DEC1 E,44,DEC1 F,44,DEC1 FLAG,13,10]


yukarıdaki iki komut arasındaki fark nedir? Üstteki komut çalışıyor, ama alttaki şekilde çalıştıramadım. Seri port programıyla bilgisayardan baktığım zaman
ikisinin veri şekli aynı ama alttaki çalışmıyor.

Maxim

bu değerler nedir?
onları kaldırıp denermisin, onlar olmadan komut satırı doğru gibi duruyor.
HSEROUT  ["VERI=", DEC1 A,44,DEC4 B,44,DEC4 C,44,DEC1 D,44,DEC1 E,44,DEC1 F,44,DEC1 FLAG,13,10]

fofo

44 ler virgülün ASCII karşılığı onların olması gerekiyor.

HSEROUT  ["VERI=", DEC1 A,",",DEC4 B,",",DEC4 C,",",DEC1 D,",",DEC1 E,",",DEC1 F,",",DEC1 FLAG,13,10]


Bu şekilde de denedim olmadı.

Maxim

#10
peki aynı komutu hrsout ile denermesin hiç dokunmadan?

HRSOUT  ["VERI=", DEC1 A,",",DEC4 B,",",DEC4 C,",",DEC1 D,",",DEC1 E,",",DEC1 F,",",DEC1 FLAG,13,10]



not:
ayrıca tanımlamalarda eksik ve hatalar var.
xtal 10 olunca CONFIG HS_OSC seçmeniz lazım
bu seri haberleşmeyi bozabilir.

ayarlarda seri haberleşme hız satırı yok (olmadımı default 9600 mü kabul ediyor acaba?)
Declare Hserial_Baud=9600

diğer seri ayar satırları doğrumu bakmadım


not2:
proton versiyonu kaç bilmiyorum ama artık şöyle kullanıyoruz xtal satırını
declare XTAL=10

fofo

Maalesef RSOUT komutuda çalışmıyor. Siz söylemden de denemiştim. Çok garip bir durum farkı nedir anlamadım.

Maxim

#12
Alıntı yapılan: fofo - 18 Ağustos 2014, 12:44:53
Maalesef RSOUT komutuda çalışmıyor. Siz söylemden de denemiştim. Çok garip bir durum farkı nedir anlamadım.

RSOUT değil HRSOUT


edit:
bunu denermisin %100 çalışması lazım (ben denedim çalışıyor)
[] işaretlerini kaldırıyoruz

HRSOUT "VERI=", DEC1 A,",",DEC4 B,",",DEC4 C,",",DEC1 D,",",DEC1 E,",",DEC1 F,",",DEC1 FLAG,13,10

fofo

HRSOUT  komutuda çalışmıyor. Baud ve xtal ayarları doğru çünkü komutu
HSEROUT ["VERI=1,150.4750,150.4750,0,2,1,1",13,10]
tırnak içinde gönderirsem çalışıyor.  değişkenleri tırnak dışına alırsam çalışmıyor.

OG

Tırnak içindekiler yanlızca birer string, değişken değerleri değil.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.