Program írás help
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:
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)
Robert!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
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
Nálam:
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?
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?
Ü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
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
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.
- 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.
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...
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...
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
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