www.elektronik.si
Programiranje v bascom avr
Pojdi na stran Prejšnja  1, 2, 3, 4 ... 36, 37, 38  Naslednja  :||:
www.elektronik.si -> Bascom sekcija

Avtor: vilkoKraj: Dragomer PrispevekObjavljeno: Sob Apr 26, 2008 11:09 am    Naslov sporočila:  Točno
----------------------------------------------------------------------------
Točno, le da ne smeš imeti byte spremenljivke ampak odgovarjajoče večje, da bo tudi največje število, ki nastopa v računu šlo v spremenljivko.

Avtor: program_erKraj: Maribor (Pohorje) PrispevekObjavljeno: Sob Apr 26, 2008 11:41 am    Naslov sporočila:  
----------------------------------------------------------------------------
Pa sem iskal v helpu, pa nisem našel kake tabele ali pa kaj, kjer bi pisalo, katera spremenljivka lahko ima koliko števk. Ker jaz ponavadi dam kar nekaj "na blef" pol pa preizkušam, kako daleč gre... A ima kdo to tabelo?

Pa če pri 8-bitnem ADC-ju delim z 256, z koliko morem delit pri 10-bitnem ADC-ju?

Avtor: vilkoKraj: Dragomer PrispevekObjavljeno: Sob Apr 26, 2008 5:42 pm    Naslov sporočila:  Eh,
----------------------------------------------------------------------------
v Helpu piše med 'Language fundametals' tudi sledeče:
Citiram:
Data Types

Every variable in BASCOM has a data type that determines what can be stored in the variable. The next section summarizes the elementary data types.

Elementary Data Types

Bit (1/8 byte). A bit can hold only the value 0 or 1. A group of 8 bits is called a byte.
Byte (1 byte). Bytes are stores as unsigned 8-bit binary numbers ranging in value from 0 to 255.
Integer (two bytes). Integers are stored as signed sixteen-bit binary numbers ranging in value from -32,768 to +32,767.
Word (two bytes). Words are stored as unsigned sixteen-bit binary numbers ranging in value from 0 to 65535.
Long (four bytes). Longs are stored as signed 32-bit binary numbers ranging in value from -2147483648 to 2147483647.
Single. Singles are stored as signed 32 bit binary numbers. Ranging in value from 1.5 x 10^–45 to 3.4 x 10^38
Double. Doubles are stored as signed 64 bit binary numbers. Ranging in value from 5.0 x 10^–324 to 1.7 x 10^308
String (up to 254 bytes). Strings are stored as bytes and are terminated with a 0-byte. A string dimensioned with a length of 10 bytes will occupy 11 bytes.


Odgovor na zadnje vprašanje je 1024

Avtor: program_erKraj: Maribor (Pohorje) PrispevekObjavljeno: Sob Apr 26, 2008 9:13 pm    Naslov sporočila:  Re: Eh,
----------------------------------------------------------------------------
vilko je napisal/a:
Odgovor na zadnje vprašanje je 1024


Aha, se pravi da je pri 10-bitnem ADC-ju račun takšen:
&H80 = Zy <--neka cifra (če mi to vrže v programu)
Zy x referenčna napetost = Rz
Rz x 1000 (ne 10) = Kp
Kp : 1024 = mV

V tem primeru sem dal kar neke spremenjlijke, ker nisem vedel točnih cifer. Zahvala, da zdaj to razumem (delno) gre @vilkotu! Hvala.

Avtor: videosonyKraj: Maribor PrispevekObjavljeno: Sre Apr 30, 2008 4:17 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Da ne odpiram nove teme bom kar tu vprašal.
Kako v bascomu napisat program da bo bral podatke iz SPI vodila enega drugega vezja ki pošilja binarne podatke 0 do 1023.
Pogledal sem literaturo o SPI pa mi je približno jasno delovanje, samo meni program noče delat-brat.
Rad bi prebral prek hardware SPI in izpisal na LCDju.

Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Portd.6 , Rs = Portd.4
Dim I As Byte
Config Lcd = 16 * 2
Initlcd
Cls
Spiinit
Do
Waitms 50
Spiin I , 1
Cls
Lcd I
Loop
End

probal sem tudi ta prog:
'------------------------------------------------------------------
' SPI-SLAVE.BAS
' (c) MCS Electronics
' sample shows how to create a SPI SLAVE
' use together with sendspi.bas
'------------------------------------------------------------------
' Tested on the STK500. The STK200 will NOT work.
' Use the STK500 or another circuit
$regfile = "m16def.dat"


Dim B As Byte , Rbit As Bit , Bsend As Byte

'First configure the MISO pin
Config Pinb.6 = Output ' MISO

'Then configure the SPI hardware SPCR register
Config Spi = Hard , Interrupt = On , Data Order = Msb , Master = No , Polarity = Low , Phase = 0 , Clockrate = 128
Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Portd.6 , Rs = Portd.4
'Then init the SPI pins directly after the CONFIG SPI statement.
Spiinit

Cls
'specify the SPI interrupt
On Spi Spi_isr Nosave

'enable global interrupts
Enable Interrupts

'show that we started
Lcd "start"
Wait 1
Spdr = 0 ' start with sending 0 the first time
Do
If Rbit = 1 Then
Lcd "r" ; B
Reset Rbit
Bsend = Bsend + 1 : Spdr = Bsend 'increase SPDR
End If
' your code goes here
Waitms 100
Cls
Loop



'Interrupt routine
'since we used NOSAVE, we must save and restore the registers ourself
'when this ISR is called it will send the content from SPDR to the master
'the first time this is 0
Spi_isr:
push r24 ; save used register
in r24,sreg ; save sreg
push r24
B = Spdr
Set Rbit ' we received something
pop r24
!out sreg,r24 ; restore sreg
pop r24 ; and the used register
Return

Avtor: rene_9Kraj: Maribor PrispevekObjavljeno: Tor Maj 06, 2008 10:18 pm    Naslov sporočila: icon_question Štetje pristiskov tipke
----------------------------------------------------------------------------
Zdravo
Da ne bom nove teme odpiral bom kar tu vprašal.Pgogram bi naj štel število pritiskov tipke in ob vsakem pritisku naredil določeno stvar. Bascom pa mi javo 2 napaki in ne vem kaj bi blo narobe, pa sem gledo help pa nisem najdo rešitve za napaki:

Error:7 Line:67 IF THEN expectet[67]
Error:269 Line:67 END SELECT expectet

Program ja je sledeč:

$regfile = "m8515.dat"
$crystal = 12000000
Config Debounce = 40


Dim Stevec As Byte
Config Porta = Input
Config Portb = Output
Tipka1 Alias Pina.0
Led1 Alias Portb.0
Led2 Alias Portb.1



Zacetek:
Do
Debounce Tipka1 , 0 , Vklop
Loop


Vklop:
Incr Stevec
If Stevec = 3 Then
Stevec = 0
Goto Izbira


Izbira:

Select Case Stevec
Case 0 : Goto Prog1
Case 1 : Goto Prog2
Case 2 : Goto Prog3

Prog1:
Set Led1

Prog2:
Do
Reset Led1
Wait 1
Set Led1
Wait 1
Set Led2
Loop

Prog3:
Do
Set Led2
Wait 1
Set Led1
Wait 1
Loop

Goto Zacetek

Avtor: igoKraj: Krško PrispevekObjavljeno: Tor Maj 06, 2008 11:36 pm    Naslov sporočila: icon_question Re: Štetje pristiskov tipke
----------------------------------------------------------------------------
rene_9 je napisal/a:
Error:7 Line:67 IF THEN expectet[67]
Error:269 Line:67 END SELECT expectet

Program ja je sledeč:

$regfile = "m8515.dat"
$crystal = 12000000
Config Debounce = 40


Dim Stevec As Byte
Config Porta = Input
Config Portb = Output
Tipka1 Alias Pina.0
Led1 Alias Portb.0
Led2 Alias Portb.1



Zacetek:
Do
Debounce Tipka1 , 0 , Vklop
Loop


Vklop:
Incr Stevec
If Stevec = 3 Then
Stevec = 0
End If
Goto Izbira ' tega ni treba

Izbira:

Select Case Stevec
Case 0 : Goto Prog1
Case 1 : Goto Prog2
Case 2 : Goto Prog3

Prog1:
Set Led1
Goto Zacetek

Prog2:
Reset Led1
Wait 1
Set Led1
Wait 1
Set Led2
Goto Zacetek

Prog3:
Set Led2
Wait 1
Set Led1
Wait 1
Goto Zacetek
V "Vklop: " si pozabil na "End If" . Pa preden vprašaš, zakaj se program povsem zaplete, kar tega popravljenega uporabi. Pa še kak "Reset Led2 in Led1 " dodaj, da bo vedno definirano, kaj naj se zgodi.
LP,
Igor

Avtor: PobesneliKraj: Ajdovščina PrispevekObjavljeno: Sre Maj 07, 2008 12:01 am    Naslov sporočila:  
----------------------------------------------------------------------------
za tem delom

Select Case Stevec
Case 0 : Goto Prog1
Case 1 : Goto Prog2
Case 2 : Goto Prog3

manjka tudi End select

Avtor: PobesneliKraj: Ajdovščina PrispevekObjavljeno: Sre Maj 07, 2008 12:05 am    Naslov sporočila:  
----------------------------------------------------------------------------
Sedaj mam pa še jaz eno vprasanje..in sicer z 1wire DS1820.Zanima me kako se preveri koliko senzorjev je na vodilu in kako se potem prebere vsakega posebaj.
rabim kak namig Wink

Zanima me če ima kdo tiste primere iz Bascom seminarja (pdf),glede teh senzorjev.
Ker v pdfju jih ni.

Avtor: rene_9Kraj: Maribor PrispevekObjavljeno: Sre Maj 07, 2008 12:45 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Hvala.
Bom popravo, kaj se pa tiče pdf-ja iz Bascom seminarja pa ti ga lahko na e-mail pošljem.

Avtor: PobesneliKraj: Ajdovščina PrispevekObjavljeno: Sre Maj 07, 2008 6:49 pm    Naslov sporočila:  
----------------------------------------------------------------------------
seminar iz bascoma že imam.rabim le tiste primere ki naj bi pokazali delovanje 1wire

Kopirano iz Pdf-ja:

Program DS1820-5 je primer branja temperature konkretnega termometra
Program DS1820-6 je primer branja temperature iz treh termometrov.

če ima kdo ?

Avtor: tozirKraj: Celje PrispevekObjavljeno: Sre Maj 07, 2008 10:40 pm    Naslov sporočila:  
----------------------------------------------------------------------------
http://datasheets.maxim-ic.com/en/ds/DS18S20.pdf

na začetku, pod drugo točko:
Koda:
Each device has a unique 64-bit serial code stored in an onboard ROM


na strani 5 imaš pa zgradbo tega registra razloženo. npr. jaz bi šel preverjat koliko različnih vrednosti teh registrov pa imam, ter bi iz tega sklepal koliko senzorjev je priključeno. samo ideja Wink

Avtor: mucekKraj: Ljubljana PrispevekObjavljeno: Čet Maj 08, 2008 12:52 pm    Naslov sporočila:  
----------------------------------------------------------------------------
Programi, ki smo jih uporabili na seminarju ...

LP, Grega

Avtor: PobesneliKraj: Ajdovščina PrispevekObjavljeno: Čet Maj 08, 2008 10:22 pm    Naslov sporočila:  
----------------------------------------------------------------------------
o hvala,to sem potreboval Wink

Avtor: program_erKraj: Maribor (Pohorje) PrispevekObjavljeno: Pet Maj 09, 2008 8:13 am    Naslov sporočila:  
----------------------------------------------------------------------------
Pozdravljeni, spet jaz! Laughing

Zdaj tisto z ADC-jem razumem! Ampak tisto deluje samo, če mam naprimer fotoupor vezan men neko točno določeno npetostjo in enim pinom uC-ja.

Kaj pa če si jaz hočem narediti merilec napetosti baterij, in le to prikazovati na dveh 7-segmentnih prikazovalnikih ali LCD-ju?

To pa potem mora biti drugače zasnovano... Kaj lahko odgovori kdo, ki se ukvarja z Bascomom in AVR-ji (ATmega16) in to točno ve?

Stran 3 od 38

Powered by phpBB © 2001,2002 phpBB Group