|
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
vilko Član
Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3351 Aktiv.: 15.03 Kraj: Dragomer
|
Objavljeno: 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.
_________________ Prepričan sem, da je inteligentnih bitij v vesolju veliko. A ker so inteligenta, se nam nočejo prikazati. |
|
Nazaj na vrh |
|
|
program_er Član
Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 11.07 Kraj: Maribor (Pohorje)
|
Objavljeno: 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?
_________________ Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
|
|
Nazaj na vrh |
|
|
vilko Član
Pridružen-a: Pet 13 Feb 2004 10:26 Prispevkov: 3351 Aktiv.: 15.03 Kraj: Dragomer
|
Objavljeno: 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
_________________ Prepričan sem, da je inteligentnih bitij v vesolju veliko. A ker so inteligenta, se nam nočejo prikazati. |
|
Nazaj na vrh |
|
|
program_er Član
Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 11.07 Kraj: Maribor (Pohorje)
|
Objavljeno: 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.
_________________ Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
|
|
Nazaj na vrh |
|
|
videosony Član
Pridružen-a: Čet 15 Nov 2007 1:32 Prispevkov: 20 Aktiv.: 0.10 Kraj: Maribor
|
Objavljeno: 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
|
|
Nazaj na vrh |
|
|
rene_9 Član
Pridružen-a: Sob 01 Mar 2008 16:13 Prispevkov: 64 Aktiv.: 0.33 Kraj: Maribor
|
Objavljeno: Tor Maj 06, 2008 10:18 pm Naslov sporočila: Š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
|
|
Nazaj na vrh |
|
|
igo Član
Pridružen-a: Sre 11 Okt 2006 19:11 Prispevkov: 3638 Aktiv.: 17.04
|
Objavljeno: Tor Maj 06, 2008 11:36 pm Naslov sporočila: 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
_________________ Teoretično je praksa posledica teorije, praktično je pa ravno obratno. (igo 2001)
LP, Igor |
|
Nazaj na vrh |
|
|
Pobesneli Član
Pridružen-a: Sre 02 Jan 2008 1:24 Prispevkov: 1070 Aktiv.: 5.39 Kraj: Ajdovščina
|
Objavljeno: 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
|
|
Nazaj na vrh |
|
|
Pobesneli Član
Pridružen-a: Sre 02 Jan 2008 1:24 Prispevkov: 1070 Aktiv.: 5.39 Kraj: Ajdovščina
|
Objavljeno: 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
Zanima me če ima kdo tiste primere iz Bascom seminarja (pdf),glede teh senzorjev.
Ker v pdfju jih ni.
|
|
Nazaj na vrh |
|
|
rene_9 Član
Pridružen-a: Sob 01 Mar 2008 16:13 Prispevkov: 64 Aktiv.: 0.33 Kraj: Maribor
|
Objavljeno: 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.
|
|
Nazaj na vrh |
|
|
Pobesneli Član
Pridružen-a: Sre 02 Jan 2008 1:24 Prispevkov: 1070 Aktiv.: 5.39 Kraj: Ajdovščina
|
Objavljeno: 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 ?
|
|
Nazaj na vrh |
|
|
tozir Član
Pridružen-a: Pon 17 Mar 2008 19:10 Prispevkov: 187 Aktiv.: 0.95 Kraj: Celje
|
Objavljeno: 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
_________________ http://www.rielektronika.comule.com/ |
|
Nazaj na vrh |
|
|
mucek Član
Pridružen-a: Tor 01 Avg 2006 10:47 Prispevkov: 5335 Aktiv.: 24.72 Kraj: Domzale
|
Objavljeno: Čet Maj 08, 2008 12:52 pm Naslov sporočila: |
|
|
Programi, ki smo jih uporabili na seminarju ...
LP, Grega
Opis: |
|
Download |
Ime datoteke: |
seminar.zip |
Velikost datoteke: |
46.34 KB |
Downloadano: |
185 krat |
|
|
Nazaj na vrh |
|
|
Pobesneli Član
Pridružen-a: Sre 02 Jan 2008 1:24 Prispevkov: 1070 Aktiv.: 5.39 Kraj: Ajdovščina
|
Objavljeno: Čet Maj 08, 2008 10:22 pm Naslov sporočila: |
|
|
o hvala,to sem potreboval
|
|
Nazaj na vrh |
|
|
program_er Član
Pridružen-a: Sob 08 Mar 2008 13:47 Prispevkov: 2173 Aktiv.: 11.07 Kraj: Maribor (Pohorje)
|
Objavljeno: Pet Maj 09, 2008 8:13 am Naslov sporočila: |
|
|
Pozdravljeni, spet jaz!
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?
_________________ Upanje ni del naše projektne strategije.
Member of Trisat - 1. Slovenian satellite running new fault tolerant aerospace processor.
|
|
Nazaj na vrh |
|
|
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 73 dni
Powered by phpBB © 2001, 2005 phpBB Group
|