Fórum témák
- • Eredményjelző
- 300W 3+3 3055_2955 monó erősítő építése
- • Sütő javítás
- • PC hűtés fordulatszám szabályzott ventilátorral
- • LCD TV probléma
- • Műhelyünk felszerelése, szerszámai
- • RC távirányítás modellekhez
- • Sárga Kazettás Piaci Nintendo (8bit)
- • Inverteres hegesztőtrafó
- • Biciklilámpa / bringalámpa
- • Vicces - mókás történetek
- • Elektromos kerékpár akkumulátorának helyettesítése
- • Audiofil, High End Audio
- • Analóg oszcilloszkóp javítása
- • Mosogatógép hiba
- • Házilag építhető fémkereső
- • Fejhallgató erősítő
- • Ultrahangos párásító
- • Elektronikai témájú könyvek újságok
- • Akkumulátoros fúró
- • Vásárlás, hol kapható?
- • Retro számítógépek
- • Tranzisztor teszter
- • Erősítő mindig és mindig
- • Tranzisztorok helyettesítése
- • BEKO Mosó/Szárító gép
- • Arduino
- • Vezeték nélküli hangátvitel
- • Muzeális készülékek-alkatrészek restaurálása
- • Mobiltelefon hiba
- • Li-Ion saját akkucsomag készítése
- • FOK-GYEM TR9178 tápegység
- • Háromfázisú aggregátor
- • Autós erősítős kérdések, problémák
- • Távirányító javítás
- • VF3 - 6 végerősítő
- • Lemezjátszó beállítása, javítása
- • Padlófűtés vezérlés
- • Számítógépes áramkörszimuláló programok
- • Videoton EA-7386-s erösítő
- • Kombikazán működési hiba
- • Felajánlás, azaz ingyen elvihető
- • Suzuki Swift elektronika
- • Páraérzékelő szenzor
- • VIDEOTON RT (RA) 6380S
- • Számítógép hiba, de mi a probléma?
- • Nextion érintőképernyős HMI, UART kommunikációval
- • Hangsugárzó építés, javítás - miértek, hogyanok
- • Alternativ HE találkozó(k)
- • GPS GSM modulok programozása
- • Digitális kapcsoló
- • Porszívó javítás
- • Szintetizátor javítás
- • Orsós magnók
- • Dobozolási technikák, műszerdobozok
» Több friss téma
|
Fórum » AVR - Miértek hogyanok
WinAVR / GCC alapszabályok:
1. Ha ISR-ben használsz globális változót, az legyen "volatile"
2. Soha ne érjen véget a main() függvény
3. UART/USART hibák 99,9% a rossz órajel miatt van
4. Kerüld el a -O0 optimalizációs beállítást minden áron
5. Ha nem jó a _delay időzítése, akkor túllépted a 65ms-et, vagy rossz az optimalizációs beállítás
6. Ha a PORTC-n nem működik valami, kapcsold ki a JTAG-et
Bővebben: AVR-libc FAQ
Heló mindenkinek!
Most készíteném el életem második programozását,de nem tudom hogyan kell kitörölni az ic előző tartalmát.
Köszönöm!
Melyik fordítóprogrammal/letöltőprogrammal nyomod? Bascom?
Nem ismerem a programot, de ott, ahol letöltöd a programot, ott keress egy Erase nevezményezetű gombot vagy parancsot... Vagy help...
Megtaláltam egy Erase device gombot az lenne az?
Igen az. De van egy pipálós rész, ahol be lehet jelölni, hogy törölje az eszközt írás előtt. Pont az erase device gomb alatt van. "Erase device before flash programming". Ha ez ki van pipálva, akkor programozás előtt automatikusan törli a kontrollert programozás előtt.
Köszönöm szépen az információt!
Most már végre sikerült!
Hol a Config SPI=soft kezdetű sor?
A config_avr-dos.bas állomány tartalma az érdekes! Ebben van a lábakra a hivatkozás!
Sziasztok!
Bascom és Avrdude fanok segítségét kérem.
Adott egy eredeti gyári és egy LUFA-féle utánépített AVRISP-mkII programozó amit szeretnék használni.
Problémám hogy csak AVR Studio4/5 alatt sikerült működésre bírni(de azonnal ment) viszont Bascom és Avrdude alól nem nagyon adja.
libusb(1.2.5.0) feltelepítve; oprendszer: Windows XP SP3/32bit
A sok cseszegetéstől egy Windows újratelepítés is kellett mert már csak a "libusb32 device" drivert fogadta el és a Jungo-t nem, így már AVR Studio alól sem ment.
Ha Bascom(2.0.5.0 DEMO) alól próbálom akkor "USBProg Programmer / AVR ISP mkII"-t jelölöm ki. Amikor programozni szeretnék, a piros LED kb. 1Hz-es ütemben villog pár másodpercig, aminek csak a legvégén RESET-el fél másodpercre, majd azt írja ki a Bascom hogy "Chip ID = 000000", és hibaüzenetet kapok hogy ez nem egyezik meg a beállítottal(még szép!).
AVRDude alól pedig folyamatosan timeout-ot észlel, ezalatt a piros LED nem villog és nem is RESET-el. Gyárival ugyanez, csak ha jól emlékszem a LED színe narancs volt.
Munkahelyi gépemen is hasonló jelenséget produkált(ott is azonos Windows és Bascom verzió, libusb is telepítve lett).
Vagy MKII vagy LibUSB.
A Bascom-AVR help oldalán leírtakat végigvitted? (avrhelp.mcselec.com)
Nálam a tapasztalat:
- LibUSB inf állomány másodjára települt csak.
- a MKII drivert _le kell szedni_. de legalább az INF állomány(ait) törölni! Újraélesíteni csak a LIBUSB leszedésével és a JUNGO újratelepítésével lehet.
A Timeout utan arra is, hogy a chip és a programozó közt nincs kapcsolat (pl. tápátvezetés nincs).
prog.bas:
$crystal = 11059200
Config Spi = Soft , Din = Portb.6 , Dout = Portb.5 , Ss = Portb.4 , Clock = Portb.7
'Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1
Config Pind.7 = Output
Config Portc = Output
Config Timer1 = Timer , Prescale = 1
Dim I As Byte
Dim Filechk As String * 512
Dim Adat As Byte
Dim Btemp1 As Byte
Initlcd
On Timer1 Olvas:
Spiinit
Wait 1
Lcd "start"
Wait 1
Cls
$include "Config_MMC.bas"
Gbdriveerror = Driveinit()
Lcd Gbdriveerror
If Gbdriveerror = 0 Then
For I = 1 To 3
Set Portd.7
Waitms 50
Reset Portd.7
Waitms 50
Next I
Else
Reset Portd.7
End If
Waitms 2000
$include "Config_AVR-DOS.BAS"
Btemp1 = 131
Btemp1 = Initfilesystem(1)
Locate 2 , 1
Lcd Btemp1
If Btemp1 = 0 Then
For I = 1 To 3
Set Portd.7
Waitms 50
Reset Portd.7
Waitms 50
Next I
Else
Reset Portd.7
End If
Filechk = Dir( "1.wav")
If Len(filechk) <> 0 Then
For I = 1 To 3
Set Portd.7
Waitms 50
Reset Portd.7
Waitms 50
Next I
End If
Wait 1
Open "1.wav" For Binary As #1
Waitms 200
Cls
For I = 1 To 12
Get #1 , Adat
Locate 1 , I
Lcd Chr(adat)
Next I
If Adat <> 0 Then
For I = 1 To 3
Set Portd.7
Waitms 50
Reset Portd.7
Waitms 50
Next I
End If
Locate 2 , 1
Set Portd.7
Adat = 0
Enable Interrupts
Enable Timer1
Do
Waitus 1
Loop
Olvas:
Timer1 = 65035
Get #1 , Adat
Portc = Adat
Adat = 0
If Eof(#1) = 1 Then
Close #1
Disable Timer1
End If
Return
End
config_mmc.bas:
' THIS IS AN INCLUDE FILE
' DO NOT COMPILE
$nocompile
'-------------------------------------------------------------------------------
' Config_MMC.BAS
' Config File for MMC Flash Cards Driver
' (c) 2003-2005 , MCS Electronics / Vögel Franz Josef
'-------------------------------------------------------------------------------
' Place MMC.LIB in the LIB-Path of BASCOM-AVR installation
'
'Connection as following
'MMC M128/M103
'1 MMC_CS PORTB.0
'2 MOSI PORTB.2
'3 GND
'4 +3.3V
'5 CLOCK PORTB.1
'6 GND
'7 MISO, PORTB.3
' you can vary MMC_CS on HW-SPI and all pins on SOFT-SPI, check settings
' ========== Start of user definable range =====================================
' you can use HW-SPI of the AVR (recommended) or a driver build in Soft-SPI, if
' the HW-SPI of the AVR is occupied by an other SPI-Device with different settings
' Declare here you SPI-Mode
' using HW-SPI: cMMC_Soft = 0
' not using HW_SPI: cMMC_Soft = 1
Const Cmmc_soft = 1
#if Cmmc_soft = 0
' --------- Start of Section for HW-SPI ----------------------------------------
' define Chip-Select Pin
Config Pinb.4 = Output ' define here Pin for CS of MMC/SD Card
Mmc_cs Alias Portb.4
Set Mmc_cs
' Define here SS Pin of HW-SPI of the CPU (f.e. Pinb.0 on M128)
Config Pinb.4 = Output ' define here Pin of SPI SS
Spi_ss Alias Portb.4
Set Spi_ss ' Set SPI-SS to Output and High por Proper work of
' SPI as Master
' HW-SPI is configured to highest Speed
Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1 , Spiin = 255
Spiinit ' Init SPI
' --------- End of Section for HW-SPI -------------------------- ----------------
#else ' Config here SPI pins, if not using HW SPI
' --------- Start of Section for Soft-SPI --------------------------------------
' Chip Select Pin => Pin 1 of MMC/SD
Config Pinb.4 = Output
Mmc_cs Alias Portb.4
Set Mmc_cs
' MOSI - Pin => Pin 2 of MMC/SD
Config Pinb.5 = Output
Set Pinb.5
Mmc_portmosi Alias Portb
Bmmc_mosi Alias 5
' MISO - Pin => Pin 7 of MMC/SD
Config Pinb.6 = Input
Mmc_portmiso Alias Portb
Bmmc_miso Alias 6
' SCK - Pin => Pin 5 of MMC/SD
Config Pinb.7 = Output
Set Pinb.7
Mmc_portsck Alias Portb
Bmmc_sck Alias 7
' --------- End of Section for Soft-SPI ----------------------------------------
#endif
' ========== End of user definable range =======================================
' Error
Const Cperrdrivereset = 225 ' Error response Byte at Reset command
Const Cperrdriveinit = 226 ' Error response Byte at Init Command
Const Cperrdrivereadcommand = 227 ' Error response Byte at Read Command
Const Cperrdrivewritecommand = 228 ' Error response Byte at Write Command
Const Cperrdrivereadresponse = 229 ' No Data response Byte from MMC at Read
Const Cperrdrivewriteresponse = 230 ' No Data response Byte from MMC at Write
Const Cperrdrive = 231
Const Cperrdrivenotsupported = 232 ' return code for DriveGetIdentity, not supported yet
Waitms 1 ' Wait some time before initialising MMC/SD
Dim Gbdriveerror As Byte ' General Driver Error register
Dim Gbdriveerrorreg As Byte ' Driver load Error-Register of HD in case of error
Dim Gbdrivestatusreg As Byte ' Driver load Status-Register of HD on case of error
Dim Gbdrivedebug As Byte
$lib "MMC.LIB" ' link driver library
$external _mmc
Wait 1
Gbdriveerror = Driveinit() ' Init MMC/SD Card
Config _AVR_DOS.bas
Const Cp_fatbufferinitstatus =(2 ^ Dfatsector)
Const Cp_dirbufferinitstatus = 0
#if Cfatdirsaveatend = 1
Const Cp_filebufferinitstatus =(2 ^ Dfatdirsaveatend)
#else
Const Cp_filebufferinitstatus = 0
#endif
#if Cfatsecondupdate = 0
Const Cp_fatsecondupdate =(2 ^ Dfatsecondupdate)
#else
Const Cp_fatsecondupdate = 0
#endif
' Bit definitions for FileMode (Similar to DOS File Attribut)
Dreadonly Alias 0 : Const Dreadonly = 0
'Const cpFileReadOnly = &H21 ' Archiv and read-only Bit set
Const Cpfilewrite = &H20 ' Archiv Bit set
' Error Codes
' Group Number is upper nibble of Error-Code
' Group 0 (0-15): No Error or File End Information
Const Cpnoerror = 0
Const Cpendoffile = 1
' Group 1 (17-31): File System Init
Const Cpnombr = 17
Const Cpnopbr = 18
Const Cpfilesystemnotsupported = 19
Const Cpsectorsizenotsupported = 20
Const Cpsectorsperclusternotsupported = 21
Const Cpcountofclustersnotsupported = 22
' Group 2 (32-47): FAT - Error
Const Cpnonextcluster = 33
Const Cpnofreecluster = 34
Const Cpclustererror = 35
' Group 3 (49-63): Directory Error
Const Cpnofreedirentry = 49
Const Cpfileexists = 50
Const Cpfiledeletenotallowed = 51
Const Cpsubdirectorynotempty = 52
Const Cpsubdirectoryerror = 53
Const Cpnotasubdirectory = 54
' Group 4 (65-79): File Handle
Const Cpnofreefilenumber = 65
Const Cpfilenotfound = 66
Const Cpfilenumbernotfound = 67
Const Cpfileopennohandle = 68
Const Cpfileopenhandleinuse = 69
Const Cpfileopenshareconflict = 70
Const Cpfileinuse = 71
Const Cpfilereadonly = 72
Const Cpfilenowildcardallowed = 73
Const Cpfilenumberinvalid = 74 ' Zero is not allowed
' Group 7 (97-127): other errors
Const Cpfilepositionerror = 97
Const Cpfileaccesserror = 98
Const Cpinvalidfileposition = 99
Const Cpfilesizetogreat = 100
Const Cpdrivererrorstart = &HC0
' Range 224 to 255 is reserved for Driver
' Other Constants
' File Open Mode / stored in File-handle return-value of Fileattr(FN#, [1])
Const Cpfileopeninput = 1 ' Read
Const Cpfileopenoutput = 2 ' Write sequential
'Const cpFileOpenRandom = 4 ' not in use yet
Const Cpfileopenappend = 8 ' Write sequential; first set Pointer to end
Const Cpfileopenbinary = 32 ' Read and Write; Pointer can be changed by user
' permission Masks for file access routine regarding to the file open mode
Const Cfilewrite_mode = &B00101010 ' Binary, Append, Output
Const Cfileread_mode = &B00100001 ' Binary, Input
Const Cfileseekset_mode = &B00100000 ' Binary
Const Cfileinputline = &B00100001 ' Binary, Input
Const Cfileput_mode = &B00100000 ' Binary
Const Cfileget_mode = &B00100000 ' Binary
' Directory attributs in FAT16/32
Const Cpfileopenallowed = &B00100001 ' Read Only and Archiv may be set
Const Cpfiledeleteallowed = &B00100000
Const Cpfilesearchallowed = &B00111101 ' Do no search hidden Files
' Bit 0 = Read Only
' Bit 1 = Hidden
' Bit 2 = System
' Bit 3 = Volume ID
' Bit 4 = Directory
' Bit 5 = Archiv
' Long File name has Bit 0+1+2+3 set
Dim Lastdosmem As Byte
$lib "AVR-DOS.Lbx"
Kiegészítettem, ahogy javasoltad, de semmi... hardveeres spivel meg se nyikkan... pedig többször is átnéztem minden bekötést, és szerintem a hivatkozásokat is jól állítottam be... De valamit akkor mégsem
Segítségeteket előre is köszönöm!
Üdv.: Hurka
Pár .inf, .sys meg .dll fájlt már letörölgettem párszor(AVR Freaks meg egy német fórum javaslatára), ebből lett a teljes win újratelepítés mert csak a "libusb-32 devices" csoportba települt, Jungo-ba már nem és így az AVR Studio sem ismerte fel.
Eddig csak EZT a részt olvastam el, de ha ERRE gondoltál akkor ezt is végigcsinálom.
Üdv !Jo lenne lassan átlepni az analóg elektronika határt jó lenne lassan megtanulni AVR eket programozni !Nem is tudom hogy fogjak neki gondoltam gyakorlattal együtt kezdem !Van egy ATMEGA 8A és gondoltam meghajtok vele egy pár ledet villogás szempontjabol és hol tudok ehez információkat szerezni?!
Egy AVR programozó se ártana, talán a legegyszerűbb a nyomtatóportos programozó lenne.
Feltettem az újonnan készített programozómat a Ki mit épített topikba!
Üdv.
Van egy hex progim de át szeretnék szerkeszteni benne egy szöveget, ezt miként lehet megvalósítani?
Én arra gondoltam, hogy át kéne fordítani emberi szervezet számára is értelmezhető formátumra és így már lehetne benne szerkeszteni. Mi a véleményetek erről?
Azaz. Ezt vittem végig, ezzel éledt fel....
Az LPT portos szerintem STK200 lesz helyesen.
Igen Előlre gondolkodtam STK500:usb portos....
Szia! Egy kis segítség, néhány demó: Bővebben: Link
Nem az én alkotásom mind, de hasznos lehet. A Makefile felépítését, a headerfájlok ilyen összeszervezését Rétellér Istvánnak köszönhetem. Használd fel nyugodtan.
Ne riasszon meg a bonyolultsága. Linux, Ubuntu alatt remekül használható.
Ha a szoveg hossza nem valtozik vagy rovidul, akkor siman ird felul a stringet egy szerkesztoprogramban es a veget egy 0x00-al zard le.
Ezt le fordítanád egy kezdő számára is befogatható formátumra?
Most odáig eljutottam hogy egy hex to ascii converterrel megtaláltam merre rejtőzködik a szöveg.
Nyisd meg PonyProg-ban a hex file-t. Majd "Enable Edit Buffer".
Kattints a legelső betűre a bal oldali oszlopban és kezdj el írni.
Vigyázz, mert nem lehet hosszabb mint az eredeti!
Ha rövidebb a szöveged akkor a szöveg végét záró "0x00"-ig egészítsd még ki szóközökkel(0x20),
de a 0x00-át már ne módosítsd!
Gondoltam arra hogy mivel kaptam hubatol egy kis műszert amire fel van illesztve az ATMEGA 8 és rá két IC ami darlington tranzisztorokat tartalmaz és abból kimenet a Collektroroktol! Na meg Doper csatlakozó is van rajta ! Gondoltam hogy tennék elsőnek egy pár ledet a Collektrookra és valahogy jó lenne villogtatni őket ! Ilyesmire gondoltam hogy valahogy megismerhessem a programozást! Letöltöm az AVR Stúdió 4 et ! Használom a Topi fele AVR Dopert ! Es mindenről teszek képet és akkor jó lenne valamit összehangolni !
Akkor kezdenem ott amint latszik a képen egy kel led van illesztve a Microvezerlo 5 os lábára ! Ezt jó lenne valamilyen villogásba hozni !Az a kis hangszóró ne zavarjon meg senkit! Ha meg valamilyen információt nem adtam le és fontos akkor mondjatok mert meg ilyet nem csináltam !
LED-nek előtét ellenállás merre van?!
Ez egy ügyes kérdés volt de nincs de amúgy is 5 V tol nagy baja nem lesz de sorbakotom egy 56 Ohmossal
Kötsd rá 5V-ra! Az ULN-eken marad egy kis feszültség, de szerintem így is sokat kapna... Na de nekem teljesen mindegy, hogy meddig használod azt a LED-et...
Idézet: „nincs de amúgy is 5 V tol nagy baja nem lesz”
Ezt meg hol olvastad? Nemcsak a LED elettertama forog itt kockan ahogy azt az elottem szolo jelezte, hanem az AVR-ed kimenete is -- de ha egyik sem is szall el annyira megrangatja a tapot, hogy az AVR-ed lehet resetal es akkor nezel miert nem megy amit csinaltal.
Idézet: „sorbakotom egy 56 Ωossal”
Miert, mekkora a feszultseg esese es a max arama ennek a LED-nek amit betettel? Kevesnek tunik nekem ez az 56 ohm, hogyan szamoltad azt ki?
|
|