Program írás help

Ide kerültek azok a témák melyek nagyon összevissza voltak. Olvasni lehet őket, de írni hozzá már nem.
Avatar
7kaz
Bitmanipulátor
Hozzászólások: 138
Csatlakozott: 2006. szeptember 26. kedd, 6:00

HozzászólásSzerző: 7kaz » 2007. augusztus 13. hétfő, 18:11

Robert írta:Amúgy Weller, Fahrenheit leválasztott páka vagy acosta grill:).


Szerintem az ERSA páka is jó lesz :)

Egyébként most azzal görcsölök, hogy létrehozzak egy bináris fájlt, de nem igazán akar összejönni. Már ott tartok, hogy a súgóban lévő mintát másoltam be, de ott is hibákat ír. Hogy gyűlölöm az ilyet! :twisted:
Szépen felismeri a kártyát, beolvassa a méretét, a könyvtárakat, stb. De itt megakadtam.

Avatar
7kaz
Bitmanipulátor
Hozzászólások: 138
Csatlakozott: 2006. szeptember 26. kedd, 6:00

HozzászólásSzerző: 7kaz » 2007. augusztus 13. hétfő, 18:21

Már ott tartok, hogy a súgóban lévő mintát másoltam be, de ott is hibákat ír


Például ilyeneket:

Error: 222 Line: 0 Illegal character [expected (, got '='] ,in File:

Ha kiveszem az OPEN, PUT, stb. utasításokat, minden rendbe jön, simán lefordítja a kódot.

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9811
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2007. augusztus 13. hétfő, 19:55

Melyik Bascom? Vmelyik csinált ilyet.... Mintha vmelyik tört lett volna...
Illetve az AVRDOS külön is letölthető, azzal is megpróbálnám....

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9811
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2007. augusztus 13. hétfő, 19:57

De ez lehet az is hogy a Frames és egyéb hasonlók kicsik...

Avatar
7kaz
Bitmanipulátor
Hozzászólások: 138
Csatlakozott: 2006. szeptember 26. kedd, 6:00

HozzászólásSzerző: 7kaz » 2007. augusztus 13. hétfő, 21:54

Robert írta:De ez lehet az is hogy a Frames és egyéb hasonlók kicsik...


Ez lehet a baj, a progi 1.11.8.4-es, eddig nem volt vele semmi gond. Viszont a HW stack, Soft stack, Framesize beállításokkal eddig nem volt dolgom, egyszerűen nem kellett ezeket megváltoztatni (töredelmesen bevallom, fogalmam sincs róla, hogy ezek mire jók). Azonban mindhármat nem tudom megnövelni 128-ra, mert akkor "Out of SRAM space" hibát kapok (M32-ről van szó). Te írtad korábban, hogy legyen mindhárom 128, de nem megy. Mit tegyek?

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9811
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2007. augusztus 13. hétfő, 22:07

Az AVRDOS fórumában írják, h M32 esetén 1 file lehet max 1xre nyitva, és a DIR beolvasást is limitálni kell. Ezeket a Configban lehet....

Avatar
padum
Biztosítékgyilkos
Hozzászólások: 60
Csatlakozott: 2007. június 14. csütörtök, 6:00
Kapcsolat:

HozzászólásSzerző: padum » 2007. augusztus 15. szerda, 22:40

Hi!
Mivel a kényelem mindenek elött, így megkérdezném, hogy van e valami mód arra, hogy egy sorban adjam meg ezt: X=a*b*c/d :lol:

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9811
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2007. augusztus 16. csütörtök, 6:39

Mivel az olvasás mindenek előtt :):
Lsd Bascom könyv, 1.-2. fejezet.


Nem.

Avatar
padum
Biztosítékgyilkos
Hozzászólások: 60
Csatlakozott: 2007. június 14. csütörtök, 6:00
Kapcsolat:

HozzászólásSzerző: padum » 2007. augusztus 21. kedd, 17:20

:D már csak ilyen telhetetlen vagyok!
Jók ezek a GETATKBD, GETATKBDRAW!
Egy dolog bánt engemet: mivel tudnám a bill. kódot folyamatosan lekérdezni, biil. való várakozás nélkül :?:

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9811
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2007. augusztus 21. kedd, 18:19

INT-re kötöd...

A "config kbd" alapon mintha INTre kötnéd, akkor az INT rutinban is le tudod kérdezni!
Sose csináltam ilyet, de ez a megoldás úgy rámlik, mert a bill ha gombot nyomsz le a clk vonalat H->gndbe húzza....

Avatar
padum
Biztosítékgyilkos
Hozzászólások: 60
Csatlakozott: 2007. június 14. csütörtök, 6:00
Kapcsolat:

HozzászólásSzerző: padum » 2007. augusztus 21. kedd, 19:24

Köszi!

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9811
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2007. augusztus 21. kedd, 20:42

bascom samples:

getatkbd_int.bas

Kód: Egész kijelölése

'----------------------------------------------------------------------------
'                PC AT-KEYBOARD Sample
'              (c) 2001-2003 MCS Electronics
'----------------------------------------------------------------------------
'For this example :
'connect PC AT keyboard clock to PIND.2 on the 8535
'connect PC AT keyboard data to PIND.4 on the 8535

$regfile = "8535def.dat"

'The GetATKBD() function does not use an interrupt.
'But we use INT0 to handle it with interrupts


'configure the pins to use for the clock and data
'can be any pin that can serve as an input
'Keydata is the label of the key translation table
Config Keyboard = Pind.2 , Data = Pind.4 , Keydata = Keydata

'variables needed for the buffer
Const Bufsize = 10
Dim Buf As String * Bufsize , _rkbd As Byte , _wkbd As Byte , _ckbd As Byte

'we need int0 that gets triggered when there is a key pressed
On Int0 Isr0 Nosave
Enable Int0
Enable Interrupts

'Dim some used variables
Dim S As String * 12
Dim B As Byte

'In this example we use SERIAL(COM) INPUT redirection
$serialinput = Mykbd

'Show the program is running
Print "hello"

Do
  'The following code is remarked but show how to use the GetATKBD() function
  ' B = Getatkbd()     'get a byte and store it into byte variable
  'When no real key is pressed the result is 0
  'So test if the result was > 0
  ' If B > 0 Then
  '    Print B ; Chr(b)
  ' End If

  'The purpose of this sample was how to use a PC AT keyboard
  'The input that normally comes from the serial port is redirected to the
  'external keyboard so you use it to type

  ' the wait will demonstrate that it works on the background
  wait 1
  Input "Name " , S
  'and show the result
  Print S
Loop
End


' this routine gets called when INPUT is used
'it expects the data in R24
Mykbd:
  lds r24,{_ckbd}                  ; get counter
  tst r24
  breq mykbd                      ;0 so test again

  dec r24                         ;adjust counter byte
  sts {_ckbd},r24                  ;store

  push r25                        ;save
  lds r25,{_rkbd}                  ;get read pointer
  Loadadr Buf , X
  add r26,r25
  clr r24
  adc r27,r24
  ld r24,x
  inc r25
  cpi r25,bufsize
  brne mykbd1
  clr r25
Mykbd1:
  sts {_rkbd},r25
  pop r25
Return

'Since we do a redirection we call the routine from the redirection routine
'
Isr0:
 'we come here when input is required from the COM port
 'So we pass the key into R24 with the GetATkbd function
' We need some ASM code to save the registers used by the function
$asm
 push r16           ; save used register
 push r25
 push r26
 push r27
 push r24
 in r24,sreg
 push r24

 rCall _getatkbd    ; call the function
 tst r24            ; check for zero
 breq Kbdinput1a    ; yes
 push r24
 lds r25,{_ckbd}    ; get byte counter
 inc r25
 sts {_ckbd},r25    ; save number of bytes in buffer
 lds r25,{_wkbd}    ; get write pointer
 Loadadr Buf , X
 add r26,r25        ; add pointer to it
 clr r24
 adc r27,r24
 pop r24
 st x,r24           ; save data in buffer

 inc r25            ; increase write buffer pointer
 cpi r25,bufsize    ; is it at the end?
 Brne kbdinput1
 clr r25
Kbdinput1:
 sts {_wkbd},r25    ; save write pointer
Kbdinput1a:
 pop r24
 !out sreg,r24
 pop r24
 pop r27            ; we got a valid key so restore registers
 pop r26
 pop r25
 pop r16
 $end Asm
 'just return
Return

B = Getatkbd()

'This is the key translation table

Keydata:
'normal keys lower case
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , &H5E , 0
Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0
Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32 , 118 , 102 , 116 , 114 , 53 , 0
Data 0 , 110 , 98 , 104 , 103 , 121 , 54 , 7 , 8 , 44 , 109 , 106 , 117 , 55 , 56 , 0
Data 0 , 44 , 107 , 105 , 111 , 48 , 57 , 0 , 0 , 46 , 45 , 108 , 48 , 112 , 43 , 0
Data 0 , 0 , 0 , 0 , 0 , 92 , 0 , 0 , 0 , 0 , 13 , 0 , 0 , 92 , 0 , 0
Data 0 , 60 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0
Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0

'shifted keys UPPER case
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 81 , 33 , 0 , 0 , 0 , 90 , 83 , 65 , 87 , 34 , 0
Data 0 , 67 , 88 , 68 , 69 , 0 , 35 , 0 , 0 , 32 , 86 , 70 , 84 , 82 , 37 , 0
Data 0 , 78 , 66 , 72 , 71 , 89 , 38 , 0 , 0 , 76 , 77 , 74 , 85 , 47 , 40 , 0
Data 0 , 59 , 75 , 73 , 79 , 61 , 41 , 0 , 0 , 58 , 95 , 76 , 48 , 80 , 63 , 0
Data 0 , 0 , 0 , 0 , 0 , 96 , 0 , 0 , 0 , 0 , 13 , 94 , 0 , 42 , 0 , 0
Data 0 , 62 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 , 0
Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0

Avatar
otto
DrótVégénSzéndarab
Hozzászólások: 40
Csatlakozott: 2007. július 27. péntek, 6:00
Tartózkodási hely: Budapest,XVIII.ker.
Kapcsolat:

Program írás help

HozzászólásSzerző: otto » 2007. augusztus 31. péntek, 19:14

Hello!

ATTINY26-ra szeretnék egyszerű programot írni.
A BASCOM 1.11.7.7 - et használom
$regfile = "At26def.dat" -ot beírom
A fordító " 202 "-es hibát jelez.

Például : $regfile = "m32def.dat"-ot beírva gond nélkül fordít.

Mi lehet a gond?

Megoldódott!
Egyes programrészek "átemeléssel" kerültek be,ezért bent maradt egy "Print" utasítás.
Mivel a "Print" soros kommunikációt feltételez,és ezt nem tudja a 26-os,ezért kiabált!

Avatar
Robert
Elektronbűvölő
Hozzászólások: 9811
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2007. augusztus 31. péntek, 20:02

open "com....." as #1

Így lesz még UARTod is....

Avatar
otto
DrótVégénSzéndarab
Hozzászólások: 40
Csatlakozott: 2007. július 27. péntek, 6:00
Tartózkodási hely: Budapest,XVIII.ker.
Kapcsolat:

stack és frame

HozzászólásSzerző: otto » 2007. október 31. szerda, 9:16

Több alkalommal is gondot okozott nekem a BASCOM-ban az előzetesen helytelenül beállított hw és swtack és a framesize.
Köszönettel vennék egy korrekt magyar nyelvű leírást arról,hogy az ezekben beállított méretet (stack, frame) hogyan lehet pontosan meghatározni.
Természetesen amennyiben nincs ilyen leírás,akkor szívesen olvasnám itt a fórumban egy hozzáértő közérthető leírását a fentiekről.


Vissza: “Zárolt témák”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég