Fórum témák

» Több friss téma
Fórum » AVR - Miértek hogyanok
 
Témaindító: pakibec, idő: Márc 11, 2006
Témakörök:
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
Lapozás: OK   347 / 839
(#) Robi98 hozzászólása Aug 8, 2011 /
 
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!
(#) Hurka válasza Robi98 hozzászólására (») Aug 8, 2011 /
 
Melyik fordítóprogrammal/letöltőprogrammal nyomod? Bascom?
(#) Robi98 válasza Hurka hozzászólására (») Aug 8, 2011 /
 
AVRStudio 4-ben.
(#) Hurka válasza Robi98 hozzászólására (») Aug 8, 2011 /
 
Nem ismerem a programot, de ott, ahol letöltöd a programot, ott keress egy Erase nevezményezetű gombot vagy parancsot... Vagy help...
(#) Robi98 válasza Hurka hozzászólására (») Aug 8, 2011 /
 
Megtaláltam egy Erase device gombot az lenne az?
(#) Ricsi89 válasza Robi98 hozzászólására (») Aug 8, 2011 /
 
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.
(#) Robi98 válasza Ricsi89 hozzászólására (») Aug 8, 2011 /
 
Köszönöm szépen az információt!
Most már végre sikerült!
(#) TavIR-AVR válasza Hurka hozzászólására (») Aug 8, 2011 /
 
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!
(#) zombee hozzászólása Aug 8, 2011 /
 
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).
(#) TavIR-AVR válasza zombee hozzászólására (») Aug 8, 2011 /
 
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).
(#) Hurka válasza TavIR-AVR hozzászólására (») Aug 8, 2011 /
 
prog.bas:

  1. $crystal = 11059200
  2. Config Spi = Soft , Din = Portb.6 , Dout = Portb.5 , Ss = Portb.4 , Clock = Portb.7
  3. 'Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1
  4. Config Pind.7 = Output
  5. Config Portc = Output
  6. Config Timer1 = Timer , Prescale = 1
  7. Dim I As Byte
  8. Dim Filechk As String * 512
  9. Dim Adat As Byte
  10. Dim Btemp1 As Byte
  11. Initlcd
  12. On Timer1 Olvas:
  13. Spiinit
  14. Wait 1
  15. Lcd "start"
  16. Wait 1
  17. Cls
  18. $include "Config_MMC.bas"
  19. Gbdriveerror = Driveinit()
  20. Lcd Gbdriveerror
  21. If Gbdriveerror = 0 Then
  22. For I = 1 To 3
  23.  Set Portd.7
  24.  Waitms 50
  25.  Reset Portd.7
  26.  Waitms 50
  27. Next I
  28. Else
  29. Reset Portd.7
  30. End If
  31. Waitms 2000
  32.  
  33. $include "Config_AVR-DOS.BAS"
  34.      Btemp1 = 131
  35.      Btemp1 = Initfilesystem(1)
  36.      Locate 2 , 1
  37.      Lcd Btemp1
  38. If Btemp1 = 0 Then
  39. For I = 1 To 3
  40.  Set Portd.7
  41.  Waitms 50
  42.  Reset Portd.7
  43.  Waitms 50
  44. Next I
  45. Else
  46. Reset Portd.7
  47. End If
  48. Filechk = Dir( "1.wav")
  49. If Len(filechk) <> 0 Then
  50. For I = 1 To 3
  51.  Set Portd.7
  52.  Waitms 50
  53.  Reset Portd.7
  54.  Waitms 50
  55. Next I
  56. End If
  57.  
  58. Wait 1
  59. Open "1.wav" For Binary As #1
  60. Waitms 200
  61. Cls
  62. For I = 1 To 12
  63. Get #1 , Adat
  64. Locate 1 , I
  65. Lcd Chr(adat)
  66. Next I
  67.  
  68. If Adat <> 0 Then
  69. For I = 1 To 3
  70.  Set Portd.7
  71.  Waitms 50
  72.  Reset Portd.7
  73.  Waitms 50
  74. Next I
  75. End If
  76. Locate 2 , 1
  77. Set Portd.7
  78. Adat = 0
  79. Enable Interrupts
  80. Enable Timer1
  81. Do
  82. Waitus 1
  83. Loop
  84.  
  85.  
  86. Olvas:
  87.  
  88. Timer1 = 65035
  89. Get #1 , Adat
  90. Portc = Adat
  91. Adat = 0
  92. If Eof(#1) = 1 Then
  93. Close #1
  94. Disable Timer1
  95. End If
  96. Return
  97.  
  98.  
  99. End


config_mmc.bas:

  1. ' THIS IS AN INCLUDE FILE
  2. ' DO NOT COMPILE
  3. $nocompile
  4. '-------------------------------------------------------------------------------
  5. '                         Config_MMC.BAS
  6. '               Config File for MMC Flash Cards Driver
  7. '        (c) 2003-2005 , MCS Electronics / Vögel Franz Josef
  8. '-------------------------------------------------------------------------------
  9. ' Place MMC.LIB in the LIB-Path of BASCOM-AVR installation
  10. '
  11. 'Connection as following
  12. 'MMC    M128/M103
  13. '1      MMC_CS PORTB.0
  14. '2      MOSI PORTB.2
  15. '3      GND
  16. '4      +3.3V
  17. '5      CLOCK PORTB.1
  18. '6      GND
  19. '7      MISO, PORTB.3
  20.  
  21. ' you can vary MMC_CS on HW-SPI and all pins on SOFT-SPI, check settings
  22. ' ========== Start of user definable range =====================================
  23.  
  24. ' you can use HW-SPI of the AVR (recommended) or a driver build in Soft-SPI, if
  25. ' the HW-SPI of the AVR is occupied by an other SPI-Device with different settings
  26.  
  27. ' Declare here you SPI-Mode
  28. ' using HW-SPI:     cMMC_Soft = 0
  29. ' not using HW_SPI: cMMC_Soft = 1
  30.  
  31. Const Cmmc_soft = 1
  32.  
  33. #if Cmmc_soft = 0
  34.  
  35. ' --------- Start of Section for HW-SPI ----------------------------------------
  36.  
  37.    ' define Chip-Select Pin
  38.   Config Pinb.4 = Output                                   ' define here Pin for CS of MMC/SD Card
  39.    Mmc_cs Alias Portb.4
  40.    Set Mmc_cs
  41.  
  42.    ' Define here SS Pin of HW-SPI of the CPU (f.e. Pinb.0 on M128)
  43.   Config Pinb.4 = Output                                   ' define here Pin of SPI SS
  44.    Spi_ss Alias Portb.4
  45.    Set Spi_ss                                               ' Set SPI-SS to Output and High por Proper work of
  46.                                                  ' SPI as Master
  47.  
  48.    ' HW-SPI is configured to highest Speed
  49.   Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = High , Phase = 1 , Clockrate = 4 , Noss = 1 , Spiin = 255
  50.   Spiinit                                                  ' Init SPI
  51.  
  52. ' --------- End of Section for HW-SPI --------------------------  ----------------
  53.  
  54. #else                                                       ' Config here SPI pins, if not using HW SPI
  55.  
  56. ' --------- Start of Section for Soft-SPI --------------------------------------
  57.  
  58.   ' Chip Select Pin  => Pin 1 of MMC/SD
  59.    Config Pinb.4 = Output
  60.    Mmc_cs Alias Portb.4
  61.    Set Mmc_cs
  62.  
  63.    ' MOSI - Pin  => Pin 2 of MMC/SD
  64.   Config Pinb.5 = Output
  65.   Set Pinb.5
  66.   Mmc_portmosi Alias Portb
  67.   Bmmc_mosi Alias 5
  68.  
  69.   ' MISO - Pin  => Pin 7 of MMC/SD
  70.    Config Pinb.6 = Input
  71.    Mmc_portmiso Alias Portb
  72.    Bmmc_miso Alias 6
  73.  
  74.    ' SCK - Pin  => Pin 5 of MMC/SD
  75.   Config Pinb.7 = Output
  76.   Set Pinb.7
  77.   Mmc_portsck Alias Portb
  78.   Bmmc_sck Alias 7
  79.  
  80.  
  81. ' --------- End of Section for Soft-SPI ----------------------------------------
  82.  
  83. #endif
  84.  
  85. ' ========== End of user definable range =======================================
  86.  
  87.  
  88. ' Error
  89. Const Cperrdrivereset = 225                                 ' Error response Byte at Reset command
  90. Const Cperrdriveinit = 226                                  ' Error response Byte at Init Command
  91. Const Cperrdrivereadcommand = 227                           ' Error response Byte at Read Command
  92. Const Cperrdrivewritecommand = 228                          ' Error response Byte at Write Command
  93. Const Cperrdrivereadresponse = 229                          ' No Data response Byte from MMC at Read
  94. Const Cperrdrivewriteresponse = 230                         ' No Data response Byte from MMC at Write
  95. Const Cperrdrive = 231
  96. Const Cperrdrivenotsupported = 232                          ' return code for DriveGetIdentity, not supported yet
  97.  
  98. Waitms 1                                                    ' Wait some time before initialising MMC/SD
  99. Dim Gbdriveerror As Byte                                    ' General Driver Error register
  100. Dim Gbdriveerrorreg As Byte                                 ' Driver load Error-Register of HD in case of error
  101. Dim Gbdrivestatusreg As Byte                                ' Driver load Status-Register of HD on case of error
  102. Dim Gbdrivedebug As Byte
  103. $lib "MMC.LIB"                                              ' link driver library
  104. $external _mmc
  105. Wait 1
  106. Gbdriveerror = Driveinit()                                  ' Init MMC/SD Card


Config _AVR_DOS.bas

  1. Const Cp_fatbufferinitstatus =(2 ^ Dfatsector)
  2. Const Cp_dirbufferinitstatus = 0
  3.  
  4.  
  5. #if Cfatdirsaveatend = 1
  6. Const Cp_filebufferinitstatus =(2 ^ Dfatdirsaveatend)
  7. #else
  8. Const Cp_filebufferinitstatus = 0
  9. #endif
  10.  
  11.  
  12.  
  13. #if Cfatsecondupdate = 0
  14.    Const Cp_fatsecondupdate =(2 ^ Dfatsecondupdate)
  15. #else
  16.    Const Cp_fatsecondupdate = 0
  17. #endif
  18.  
  19.  
  20. ' Bit definitions for FileMode (Similar to DOS File Attribut)
  21. Dreadonly Alias 0 : Const Dreadonly = 0
  22. 'Const cpFileReadOnly = &H21             ' Archiv and read-only Bit set
  23. Const Cpfilewrite = &H20                                    ' Archiv Bit set
  24.  
  25.  
  26. ' Error Codes
  27.  
  28. ' Group Number is upper nibble of Error-Code
  29. ' Group 0 (0-15): No Error or File End Information
  30. Const Cpnoerror = 0
  31. Const Cpendoffile = 1
  32.  
  33. ' Group 1 (17-31): File System Init
  34. Const Cpnombr = 17
  35. Const Cpnopbr = 18
  36. Const Cpfilesystemnotsupported = 19
  37. Const Cpsectorsizenotsupported = 20
  38. Const Cpsectorsperclusternotsupported = 21
  39. Const Cpcountofclustersnotsupported = 22
  40.  
  41. ' Group 2 (32-47): FAT - Error
  42. Const Cpnonextcluster = 33
  43. Const Cpnofreecluster = 34
  44. Const Cpclustererror = 35
  45. ' Group 3 (49-63): Directory Error
  46. Const Cpnofreedirentry = 49
  47. Const Cpfileexists = 50
  48. Const Cpfiledeletenotallowed = 51
  49. Const Cpsubdirectorynotempty = 52
  50. Const Cpsubdirectoryerror = 53
  51. Const Cpnotasubdirectory = 54
  52. ' Group 4 (65-79): File Handle
  53. Const Cpnofreefilenumber = 65
  54. Const Cpfilenotfound = 66
  55. Const Cpfilenumbernotfound = 67
  56. Const Cpfileopennohandle = 68
  57. Const Cpfileopenhandleinuse = 69
  58. Const Cpfileopenshareconflict = 70
  59. Const Cpfileinuse = 71
  60. Const Cpfilereadonly = 72
  61. Const Cpfilenowildcardallowed = 73
  62. Const Cpfilenumberinvalid = 74                              ' Zero is not allowed
  63.  
  64. ' Group 7 (97-127): other errors
  65. Const Cpfilepositionerror = 97
  66. Const Cpfileaccesserror = 98
  67. Const Cpinvalidfileposition = 99
  68. Const Cpfilesizetogreat = 100
  69.  
  70. Const Cpdrivererrorstart = &HC0
  71.  
  72.  
  73. ' Range 224 to 255 is reserved for Driver
  74.  
  75. ' Other Constants
  76. ' File Open Mode /  stored in File-handle return-value of Fileattr(FN#, [1])
  77. Const Cpfileopeninput = 1                                   ' Read
  78. Const Cpfileopenoutput = 2                                  ' Write sequential
  79. 'Const cpFileOpenRandom = 4              ' not in use yet
  80. Const Cpfileopenappend = 8                                  ' Write sequential; first set Pointer to end
  81. Const Cpfileopenbinary = 32                                 ' Read and Write; Pointer can be changed by user
  82.  
  83.  
  84. ' permission Masks for file access routine regarding to the file open mode
  85. Const Cfilewrite_mode = &B00101010                          ' Binary, Append, Output
  86. Const Cfileread_mode = &B00100001                           ' Binary, Input
  87. Const Cfileseekset_mode = &B00100000                        ' Binary
  88. Const Cfileinputline = &B00100001                           ' Binary, Input
  89. Const Cfileput_mode = &B00100000                            ' Binary
  90. Const Cfileget_mode = &B00100000                            ' Binary
  91.  
  92. ' Directory attributs in FAT16/32
  93. Const Cpfileopenallowed = &B00100001                        ' Read Only and Archiv may be set
  94. Const Cpfiledeleteallowed = &B00100000
  95. Const Cpfilesearchallowed = &B00111101                      ' Do no search hidden Files
  96. ' Bit 0 = Read Only
  97. ' Bit 1 = Hidden
  98. ' Bit 2 = System
  99. ' Bit 3 = Volume ID
  100. ' Bit 4 = Directory
  101. ' Bit 5 = Archiv
  102. ' Long File name has Bit 0+1+2+3 set
  103. Dim Lastdosmem As Byte
  104.  
  105.  
  106. $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
(#) zombee válasza TavIR-AVR hozzászólására (») Aug 8, 2011 /
 
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.
(#) DJanosi hozzászólása Aug 8, 2011 /
 
Ü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?!
(#) zombee válasza DJanosi hozzászólására (») Aug 8, 2011 /
 
Egy AVR programozó se ártana, talán a legegyszerűbb a nyomtatóportos programozó lenne.
(#) DJanosi válasza zombee hozzászólására (») Aug 8, 2011 /
 
Feltettem az újonnan készített programozómat a Ki mit épített topikba!
(#) koczka hozzászólása Aug 9, 2011 /
 
Ü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?
(#) TavIR-AVR válasza zombee hozzászólására (») Aug 9, 2011 /
 
Azaz. Ezt vittem végig, ezzel éledt fel....
(#) TavIR-AVR válasza DJanosi hozzászólására (») Aug 9, 2011 /
 
Ha egyszerűen akarod - én kb 0 az előzetes programozási ismeret:
- Bascom-AVR (Basic alapú)
- Arduino (egyszerűsített C)

Programozó:
- LPT portos: STK500
- Programozók összehasonlítása
Az új MKII-es...
(#) sikolymester válasza TavIR-AVR hozzászólására (») Aug 9, 2011 /
 
Az LPT portos szerintem STK200 lesz helyesen.
(#) TavIR-AVR válasza sikolymester hozzászólására (») Aug 9, 2011 /
 
Igen Előlre gondolkodtam STK500:usb portos....
(#) covek válasza DJanosi hozzászólására (») Aug 9, 2011 /
 
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ó.
(#) Reggie válasza koczka hozzászólására (») Aug 9, 2011 /
 
Ha a szoveg hossza nem valtozik vagy rovidul, akkor siman ird felul a stringet egy szerkesztoprogramban es a veget egy 0x00-al zard le.
(#) koczka válasza Reggie hozzászólására (») Aug 9, 2011 /
 
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.
(#) zombee válasza koczka hozzászólására (») Aug 9, 2011 /
 
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!
(#) DJanosi válasza zombee hozzászólására (») Aug 9, 2011 /
 
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 !
(#) DJanosi válasza DJanosi hozzászólására (») Aug 9, 2011 /
 
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 !
(#) zolee1209 válasza DJanosi hozzászólására (») Aug 9, 2011 /
 
LED-nek előtét ellenállás merre van?!
(#) DJanosi válasza zolee1209 hozzászólására (») Aug 9, 2011 /
 
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
(#) zolee1209 válasza DJanosi hozzászólására (») Aug 9, 2011 /
 
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...
(#) trudnai válasza DJanosi hozzászólására (») Aug 9, 2011 /
 
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?
Következő: »»   347 / 839
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem