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
Robert
Elektronbűvölő
Hozzászólások: 9964
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

HozzászólásSzerző: Robert » 2006. augusztus 25. péntek, 17:57

$eeprom
Epromadat:
Data 12%
$data

Start Adc

Tarolando = 62
'do ez nem kell
Fesz = Getadc(7)
If Fesz < 800 Than
Writeeeprom Tarolando , Epromadat
End If
'Waitms 100
'do
'Loop

powerdown

Vendég

HozzászólásSzerző: Vendég » 2006. augusztus 26. szombat, 20:49

Róbert!

Mi történik, ha egy portra egyben írok (portA = Változó), miközben egy lábat kimenetnek állítottam be ( Config Pina1 = Output).

Üdv
Rag

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

HozzászólásSzerző: Robert » 2006. augusztus 26. szombat, 20:56

A belső felhúzóelleállást bekapcsolod.
Azaz a kimenet stabil 1 állapotba kerül.

Visszaolvasva (pina.1) 1-t kell hogy kapjál. Ha itt valami ezt földre húzza, akkor a pina.1=0 lesz.

Gondot nem okoz, mert egy logikai kapu választja el a kettőt.


Ha alábat nem állítod kimenetre akkor érdekes ha portra írsz, mert van általában a portoknak alapértelmezése, de én az első sorokban _mindíg_ a portirányt állítom be. Különben a lábon levő belső funkció használódik.

Azaz a programok fejléce nálam valami ilyesmi:

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

$chip
$frame
$crystal
$baud

Config I2C
Config LCD
Config SPI

Szubnrutinok beklaráció

Konstansok (Const)

Változók (DIM)

Rag

HozzászólásSzerző: Rag » 2006. augusztus 27. vasárnap, 19:43

Vendég írta:Mega16-mál A porton van ADC.

Ha két ellenállással (2x10K) a tápfeszről csinálok osztót és kötöm a porta(7)-re és belső ref. fesz használok, eeprom területre letárolva, ha leesett a fesz:

Config Adc = Free , Prescaler = Auto , Reference = Internal
Dim Fesz As Byte , Tarolando As Byte


Start Adc


Rag


Robert!

Mindig leáll hibával a fordító a Config ADC-nél és a Mega16 adatlapjával nem jutok előre. Szerinted miért nem jó az a sor?

Üdv
Rag

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

HozzászólásSzerző: Robert » 2006. augusztus 28. hétfő, 4:54

Nálam:

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

'Fotoelem
Config Adc = Single , Prescaler = Auto , Reference = Internal
Config Porta.7 = Input
.
.
.
Start Adc
Print "Fenyelem:" ; Getadc(7)
Stop Adc



Nalam a Te kódod működik. Ekkor több lehetőséged van:
- A programban megmondod valahol hogy M16-os ICd van? (Options->Compiler->Chip)
- Tort programod van.


A forditast a Bascom 1.11.7.4 s 1.1.8.1 DEMOval is kipróbáltam.


Mi a hibaüzenet?

Rag

HozzászólásSzerző: Rag » 2006. augusztus 28. hétfő, 12:02

Bocsika!

Gépelési hiba volt, már hiba nélkül lefordítja.

:oops:

Üdv
Rag

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

HozzászólásSzerző: Robert » 2006. augusztus 28. hétfő, 17:16

:P Előfordul.....

Avatar
gerry
Chipgyilok
Hozzászólások: 252
Csatlakozott: 2005. október 11. kedd, 6:00

HozzászólásSzerző: gerry » 2006. augusztus 30. szerda, 6:44

Üdv Mindenkinek!

Az lenne a kérdésem, hogy ha adott egy asm-ben írt program, amit atmega8 hoz írtak. Namost az xxx.asm-et megnyitva olvasható a program leírásában, hogy az atmega8-at úgy kell konfigurálni,hogy belső 8MhzRC-ről fusson.

Az asm-et avrstudioval sikeresen compilereztem hexbe, bascommal felprogramoztam, configbit beállítások megtörténtek.
Csakhogy az atmega8 nem úgy müködik ahogy kellene, RS232-n kéne fogadnia a bill parancsokat, amit meg is tesz, de teljesen más karaktereket írkál ki nekem. Persze külső 8Mhz-es kvarcal tökéletesen megy.

Kérdésem az lenne, hogyan lehet az atmega8-at "biztonságosan" beállítani, úgy hogy belső 8Mhz-en fusson? Tudom a belső órajel igen labilis, meg nem pontos.... ,de valahogy be lehet lőni?

köszi

Robert-

HozzászólásSzerző: Robert- » 2006. augusztus 30. szerda, 9:24

Macerás. A belső kalibrációs biteket lehet pofozgatni, DE:
- erről az OSCról jár a belő EEPROM írásai, ADC, FLASH programozása...
- A hőfokfüggése és bizonytalansága megmarad.

Az atmel oldalon van leírás az önkalibrációról....

Szerintem maradj a külső kvarcnál. a 8 MHz amúgy sem ideális a sorosporthoz, ezen meg még rontasz az ingadozással is....

Nálam volt olyan M8-as IC, ami 8 MHz belső RC-ről szemetelt. A legstabilabb belső órajel, ha sorosport is kell a 9600 bps és a 4MHz.
Így - ha lehetséges - mindíg a külső kvarcot preferrálom. Bár fogtam már ki hibás 14... MHz-set, ami csak melegítésre járt:)))

Amiket használok:
3,6864 MHz
7,3728 MHz
11,056 MHz
14,7456MHz

És a külső kondi 15...27 pF közt bármi lehet, csak lehetősleg szimmetrikus legyen.

Avatar
luxman
Biztosítékgyilkos
Hozzászólások: 51
Csatlakozott: 2005. május 6. péntek, 6:00

HozzászólásSzerző: luxman » 2006. november 23. csütörtök, 10:40

Hello! Olyan kellene nekem, hogy valami példaprogram TDA 7440-es ic I2C programozásához. (Bemenetek kiválasztása, hangerő, gain állítás). Köszi

Robert-

HozzászólásSzerző: Robert- » 2006. november 23. csütörtök, 19:58

Adatlapja alapján, sacc:
1, I2C-n az eszköznek válaszolnia kell. A mintaprogik közt van a demopanelekhez olyan ami lescanneli az I2C buszt. Innne látod válaszol-e a chip (él-e a busz).
2, szokásos kezelés
I2CInit
I2Cstart
I2Cwrcim
I2Cwrregisztercim
I2Cwr adat_a_ regiszterbeertek
I2CStop


Az adatlap 8-12. oldalától szépen le van írva.
A Noinkrementált használd. Igaz picivel lassabb, de nem kell azzal számolni, hogy eltéved írás/olvasásákor...

Avatar
Dani
DrótVégénSzéndarab
Hozzászólások: 18
Csatlakozott: 2006. április 6. csütörtök, 6:00
Tartózkodási hely: Komló

HozzászólásSzerző: Dani » 2006. december 5. kedd, 21:24

Sziasztok
belefutottam egy érdekes problémába
ez tesztprogram

$regfile = "ATtiny2313.dat"
$crystal = 4000000
$baud 9600
Config Pinb.0 = Output ' 15 relé
Rele Alias Pinb.0

Do
Reset Rele
Print "relé ki"
Wait 5
Set Rele
Print "Rele Be "
Wait 5
Loop

A szimulátorban jól müködik de ha kiprobálom akkor olyan mintha csak a set utasitás műkodne toggle utasitásként bascom1,1,8,3 -at használok

1 hete szenvedek evvel a problémával megőrülök tőle

előre is köszi Dani

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

HozzászólásSzerző: Robert » 2006. december 5. kedd, 22:40

Config Pinb.0 = Output ' 15 relé

helyett

Config Port.0 = Output ' 15 relé

Avatar
Dani
DrótVégénSzéndarab
Hozzászólások: 18
Csatlakozott: 2006. április 6. csütörtök, 6:00
Tartózkodási hely: Komló

HozzászólásSzerző: Dani » 2006. december 7. csütörtök, 19:54

Sziasztok

Köszi a választ. Igy müködik is. szeretném megkérdezni mi a a helyes
Config portb.0 = input vagy c Config pinb.0 = input a másik
Config portb.0 = output vagy Config pinb.0 = input
illetve van közöttük valami külömbség

a sugóban nem találtam rá egyértelmű választ

Köszi Dani

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

HozzászólásSzerző: Robert » 2006. december 7. csütörtök, 21:25

Config csak portb.x lehet. Pin az a _bemeneti_ láb állapotát jelenti, amit nem tudsz konfigurálni:).


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

Ki van itt

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