Hallo allemaal,
kan iemand me helpen?
ik werk vooral met atmega 16 en 32. programma's schrijf ik in bascom avr. programmeren deed ik tot voor kort met een KAMPROG voor AVR, die heeft zijn eigen software. helaas heeft die plots de geest gegeven vorige week.
Daar ik volop met een project bezig ben moest er snel een nieuwe komen. vlug even bij conrad gekeken en gevonden : DIAMEX ALL-AVR Programmer. (idem als AVRISP mkII)
maar Bascom avr herkent hem blijkbaar niet, krijg de foutmelding "USB programmer not found".
Programmer geprobeerd in studio 7.0 en daar werkt hij wel.
Heb gekeken in configuratie van mijn laptop (windows 10)en vond daar wel degelijk de AVR-JungoUSB.exe en daarbij staat ook de AVRUSB mkII
vermeld.
LIBUSB is ook aanwezig.
Heb ook een filter aangemaakt voor de mkII.
moet er nog iets gebeuren alvorens Bascom AVR hem herkent?
Dank bij voorbaat,
mvg
Geertie
Welke biosverzie heb je ? Er is een update voor : http://www.diamex.de/dxshop/Diamex-ALL-AVR-ISP-Programmer
Ondersteuning van deze firma is zeer matig, data verdwijnt of gefragmenteerd terug te vinden.
Extra info : http://forum.diamex.de/content.php?26-programmiergeräte
[Bericht gewijzigd door Shiptronic op (15%)]
Lees deze handleiding eens door, je bent volgens mij al aardig op weg.
http://avrhelp.mcselec.com/libusb.htm
Hallo Shiptronic en 2N3055,
vooreerst zie ik het nut van een update niet in want de hoogste die aangeboden wordt is 1.9 en mijn programmer heeft 11/2010 rev: 2.0
ik heb alle stappen van de bascom help uitgevoerd met het gekende gevolg.
wat me verontrust, in alle documentatie van Diamex wordt nergens gesproken van Windows 10, er is helaas veel software die Win10 niet ondersteunt!!!
ik overweeg toch maar om een andere programmer te kopen, wat kunnen jullie me aanraden, (in de toekomst wil ik wel leren werken met C.)
zou ik misschien bij mcs eentje kopen die zal toch zeker wel werken met bascom?
mvg,
Geert
er is helaas veel software die Win10 niet ondersteunt!!!
COM drivers etc is in W10 nu juist verbeterd :
http://forum.diamex.de/showthread.php?1084-Geräte-mit-virtuellem-…
EN bij het .exe bestand op eigenschappen klikken kies tabblad compatibiliteit, en kies een verzie waarbij het wel werkte, of waarvoor de software oorspronkelijk bedoeld was.
En Windows 10 CDC drivers gaat goed
Zie dus de brakke ondersteuning van diamex, er zijn dus nieuwere verzie, maar onder downloads niet te vinden. Op het forum word ook vaak arrogant gereageerd. of oplossingen worden via de achter deur geregeld, niemand die er dan verder iets aan heeft of vragen worden domweg genegeerd.
[edit] eea wel richting juiste com poort verwezen?
buckfast_beekeeper
Van Lambiek wordt goede geuze gemaakt.
Als je iets nieuw overweegt, waarom dan geen officieel ATmel toestel? Bijvoorbeeld de JTAG-ICE. Je bent dan zeker dat deze alle bestaande AVR ondersteund en nog heel lang zal ondersteunen. Als je toch win 10 hebt, heb je waarschijnlijk een vrij recente pc. ATmel studio 6 of 7 draaien mag dan geen probleem zijn.
Als je op termijn wil overschakelen naar C, waarom dan niet meteen door de appel bijten?
Hallo allemaal,
bedankt vor alle tips.
ik heb me een nieuwe aangeschaft bij mcs-electronics de Kam-prog, met de laatste versie software, werkt perfect, alleen heb ik nog een vraagje omtrent fusebits, ik heb enkele controllers om zeep geholpen door de fuse bit in te stellen op 8MHz maar dan externe asc....
sindsdien kan ik ze niet meer gebruiken, krijg altijd foutmelding "chip not found".
kan ik ze dan weer redden door een externe osc aan te sluiten en opnieuw de fuse bit goed in te stellen. (met een 555 bvb?)
en dan nog een vraag ; ik ben een code aan het schrijven en nu kom ik tot de vaststelling dat 'END SUB' aanzien wordt als 'END PROGRAM'
zelfs in de simulator loopt hij niet verder meer.
het is maar een simpele subroutine ;
sub motorldir(byval Mldir as byte)
if mldir = 1 then
portd.6 = 0
elseif mldir = 0 then
portd.6 = 1
end if
end sub
of moet ik voor deze vraag een nieuwe starttopic aanmaken?
dank,
Geertie
Arco
Special Member
Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Fuzzbass
Mijn echte naam: Joris | Mijn elektronica website: Fuzzcraft.com
Ik gok op een stack overflow, maar zonder enige info over welk platform of welke programmeertaal, is het wel heel erg breed gokwerk.
maartenbakker
Golden Member
www.elba-elektro.nl | "The mind is a funny thing. Sometimes it needs a good whack on the side of the head to jar things loose."
Misschien in je programma net als in je tekst een paar ' teveel geplaatst? Meervoud van normaal uitspreekbare woorden is eigenlijk nooit met een 's (spreek uit: apostrof-es).
Flauw, maargoed zolang we niet weten welke taal houd ik het voor het gemak maar op Nederlands
en als ik dan toch bezig ben: "aanzien voor". Vaste uitdrukkingen zijn vast, net als bij programmeren.
Moest ik gokken dan zou ik basic zeggen. Misschien toch ergens een foutje in de eerste of laatste regel van een er boven staande sub gemaakt zodat de code doorloopt? Stackprobleem zou ook wel kunnen als je erg veel genest aanroept. De code hier plaatsen met aanwijzing van het punt waar het misgaat, brengt misschien ook uitkomst.
Als je END SUB eens verander in ENDSUB of RETURN ?
Zodra je programma het woordje END tegenkomt denkt het programma dat hij klaar is.
Mag ik een koekje?
Ja, maar dan moet je eerst je kamer opruimen.
Na het woordje Ja is de koektrommel al leeg en de rest wordt niet gehoord
Even uit geertie's andere topic gehaald :
Op 20 mei 2016 21:33:27 schreef Geertie:
Hallo allemaal,
bedankt vor alle tips.
ik heb me een nieuwe aangeschaft bij mcs-electronics de Kam-prog, met de laatste versie software, werkt perfect, alleen heb ik nog een vraagje omtrent fusebits, ik heb enkele controllers om zeep geholpen door de fuse bit in te stellen op 8MHz maar dan externe asc....
sindsdien kan ik ze niet meer gebruiken, krijg altijd foutmelding "chip not found".
kan ik ze dan weer redden door een externe osc aan te sluiten en opnieuw de fuse bit goed in te stellen. (met een 555 bvb?)en dan nog een vraag ; ik ben een code aan het schrijven en nu kom ik tot de vaststelling dat 'END SUB' aanzien wordt als 'END PROGRAM'
zelfs in de simulator loopt hij niet verder meer.
het is maar een simpele subroutine ;sub motorldir(byval Mldir as byte)
if mldir = 1 then
portd.6 = 0
elseif mldir = 0 then
portd.6 = 1
end if
end subof moet ik voor deze vraag een nieuwe starttopic aanmaken?
dank,
Geertie
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Op 21 mei 2016 00:57:39 schreef ohm pi:
Als je END SUB eens verander in ENDSUB of RETURN ?
"Good spotting!" -- Linus Torvalds.
Roches
Domoticz en ESP8266, goede combo!!!
buckfast_beekeeper
Van Lambiek wordt goede geuze gemaakt.
Eerst je programma vraag. Ik ben geen bascom adept maar in C of Java is Mldir != mldir. Vele talen zijn case sensitive. mldir is in je subroutine dan een ongekende variabele en wordt meestal geïnitialiseerd op waarde 0.
Wat je fuse bits betreft. Er zijn printjes in de handel waarmee je alle fuse bits kan resetten. Ook als je er mocht in slagen spien uit te zetten. Wat kan je nog doen? Een andere avr nemen en op zijn interne clock laten lopen. 1 regel in de main. Een bepaalde uitgang toggelen. Sluit deze uitgang aan op de osc1 ingang van je µC. Zorg er voor dat je SPI frequentie lager is als 1/4 van je klok frequentie.
Andere mogelijkheid een kristal met 2 c-tjes aansluiten op je µC.
maartenbakker
Golden Member
www.elba-elektro.nl | "The mind is a funny thing. Sometimes it needs a good whack on the side of the head to jar things loose."
Behalve dat het in Bascom AVR gewoon met een spatie is. Omdat iets in het Nederlands een spatiefout is, is dat niet persé in een Basic-variant het geval.
Zie bijvoorbeeld http://avrhelp.mcselec.com/index.html?gosub.htm
Ik denk dat het handiger is dat de TS zijn volledige code even plaatst.
In het kleine stukje zie ik trouwens wel een elseif die gewoon else hoort te zijn - dat zal de fout misschien niet veroorzaken maar geeft wel aan dat er nog wat bijgeleerd moet worden en dat er elders dus ook logische foutjes of verschrijvingen kunnen zitten.
[Bericht gewijzigd door maartenbakker op (15%)]
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Daar lees ik dat het einde van een subroutine gedaan wordt met "return" en niet met "endsub" of "end sub".
Einde van een sub is met end sub
Einde van een label of gosub is met return
@Ts, je moet even de rest van de code plaatsen, alleen aan een sub routine heb je niets.
oxurane
Van elk bezoek aan CO leer ik weer meer...
Ik moest even graven in mijn geheugen met BasCom, maar misschien heb je iets aan onderstaande beschrijving / code.
'== Basis instellingen ==
$regfile "m8def.dat" 'Ik ga uit van een Atmega8
$crystal = 8000000 '8MHz Xtal aangesloten
'Declareren SUBS
Declare Sub Start_Code() 'Opstart-procedure
Declare Sub MotorLDir() 'Motor-richting
'Declareren VARIABELEN
Dim MlDir as Bit '0 = RechtsOm, 1 = LinksOm
'== Hoofdprogramma ==
Call Start_Code() 'Basis instellingen chip
Do 'Oneindige Loop
MlDir = PinD.5 'Status van druktoets : 0 of 1
Call MotorLDir() 'Aanroep functie van sub
Waitms 10 'Wacht 10 milli-seconden
Loop
'== Subs ==
Sub Motorldir() 'Motor-sturing
If MLDir = 1 then
PortD.6 = 0 'D.6 wordt laag
Else
PortD.6 = 1 'D.6 wordt hoog
End If
End Sub
Sub Start_Code() 'Aanroepen als initialisatie
DDRD.6 = 1 'D.6 instellen als OutPut -Stuurpin
DDRD.5 = 0 'D.5 instellen als InPut - Druktoets
End Sub
Om te voorkomen dat je na programmeren met een defecte AVR komt te zitten, kun je het beste eerst gebruik maken van de fabrieksmatig ingestelde (interne) klok-snelheid. Die staat -volgens mij- op 1 MHz en dus "$crystal = 1000000".
Zodra je de code werkend hebt, kun je overschakelen naar het extern aangesloten XTal met de juiste Fuses ingesteld en in de broncode de juiste snelheid ingesteld ($crystal = 8000000 = 8MHz).
Dat maakt het zoeken naar fouten ook wat makkelijker.
hallo,
Om te beginnen, ik werk op een ATMEGA32, voorlopig op interne klok al zijn kristal 10MHz en c'tjes aanwezig op de print. Verder werk ik met Bascom AVR versie 2.0.7.5 en een KamPROG van MCS-Electronics.
Ben nog niet zolang bezig met microcontrollers, moet inderdaad nog veel leren...
Ja ik denk dat het voor jullie eenvoudiger zal zijn met het hele programma al is het nog lang niet volledig maar met dit deel kan ik in ieder geval mijn motoren testen in combinatie met mijn fotocellen.
Het lijkt me een stomme fout al kijk ik er blijkbaar overheen.
Heb voor de test een klein programmatje gemaakt met twee subroutines en dat werkt wel, gek genoeg.
alvast bedankt
Geert
oxurane
Van elk bezoek aan CO leer ik weer meer...
Je gebruikt volgens mij enorm veel overbodige aanroepen naar SUBs met daarin weer aanroepen naar SUBs. Daarnaast mis ik een boel variabelen die ingevuld worden in de broncode, maar ook een SUB die tekst naar de LCD schrijft.
Ook zie ik dat je de variable "rev" en "fwd" gebruikt. Dat zou je veel eenvoudiger kunnen doen, door een variabele "dir_x" als BIT te gebruiken. Denk dan aan : 0 = reverse, 1 = forward.
Verder doe je niets met de "ByVal" in SUBs. Ik bedoel, de waarde wordt niet veranderd in de SUBs. Dan hoef je "ByVal VARIABELE as xxxx" ook niet te gebruiken.
Ikzelf zet allereerst de noodzakelijke variabelen, Const en de rest vaak boven in. Daarna komt het hoofdprogramma. Daaronder plaats ik diverse SUBs die aangeroepen kunnen worden. Deze werkwijze heb ik ooit eens geleerd en het werkt best prettig. En verder zul je kunnen opmerken dat ik altijd "inspring" in code. Dat is handig, waardoor je snel(ler) inziet indien je iets vergeten bent om af te sluiten (bijv. If-Else-End If").
Tot slot, concentreer je eerst op de aansturing van 1 motor en het uitlezen van de sensoren. Stuur de uitgelezen waarden naar je LCD. Dat vormt een aardige indicatie wat er allemaal gebeurt, zowel met het uitlezen van sensoren, de aansturing van de hardware, maar ook wat er gebeurt in de broncode.
Bijgesloten is de herschreven broncode, waarmee ik hoop dat je een stukje verder kan.
Oxurane,
Hartelijk dank voor de geboden hulp en de goede raad ivm structuur in mijn programma.
Ik ga onmiddellijk uw voorbeeld eens testen.
Zo te zien ben jij wel een vroege vogel, s'morgens 05u lig ik nog in mijn bedje hoor...
Bij het compileren krijg ik al direct een aantal fouten, die ga ik proberen weg te werken één voor één.
Je hoort zeker nog van mij.
tot straks
Geert
rew
four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Als ik met m'n 30 jaar programmeer ervaring een programma schrijf, dan vind ik "compiler fouten" niet erg. WEL erg zijn fouten die wel compileren en waar je later naar moet foutzoeken: die kosten veel tijd. Een compiler fout gaat gepaard met een regelnummer waar het mis ging. Die kan je altijd snel vinden. Dus dat is niet erg.
(Anderzijds, voor simpele programmas is het ondertussen de sport om het "in 1x werkend" te krijgen. En dat omvat naast dat het precies doet wat het moet doen OOK zonder compiler warnings door de compiler heen...
)
[Bericht gewijzigd door rew op (25%)]
Rew,
nog goed 29,5 jaar en dan heb ik zoveel ervaring als u.
Het zal dus nog wel even duren voor ik aan 'de sport' kan beginnen haha
ondertussen ben ik het voorbeeld programma van Oxurane aan het testen en inderdaad de compiler fouten haal je er wel vlot uit behalve deze dan : line 178 incorrect number of parameters.the number of parameters must be [0].idem voor line 179 (de regelnummers zullen al niet meer kloppen want heb al regels moeten toevoegen.
line 178 = call motorldir(fwd)
line 179 = call motorlspeed(speed)
nog een error; line 0 : end sub or end function expected [>6]
nog stof tot nadenken (ervaring zou van pas komen hier...)