Beste allemaal,
Ik heb een vier op een rij programma geschreven in c, en wou dit nu in een microcontroller proppen. Nu is er een probleem. De status wordt opgeslagen in een 7x7 array, maar dit krijgt een gewoon picje(16f628 en 16f877) niet in zijn ram(mikroc).
Welke microcontroller moet ik nemen?
- Arduino
- Een avr
- Een pic
- Iets anders
Eisien:
- opslag van een 7x7 array(of natuurlijk een ander idee hoe ik het bord op moet slaan)
- Een gratis c compiler
- Genoeg snelheid om een zet binnen vijf seconden te bereken
Voor de liefhebbers:
De exe
Ik vraag mij af wat pientertje wil doen? Hopelijk wil je toch niet die .exe in een microcontroller gaan proppen? 
Ik ga heus niet die exe er in proppen. Maar ik dacht dat iemand hem misschien wilde spelen.
Ram probleem is opgelost, was vergeten int in unsigned char te veranderen. Toen paste het wel.
Maar nu zit ik aan de limiet van mikroc.
Ik weet dat arduino in feite een avr bootloader is, maar er is wel een gratis c compiler.
Uiteindelijk moet het een robot-arm worden, maar ik begin met wat ledjes.
MAH
Every machine is a smoke machine if you operate it wrong enough
mogelijk wordt het tijd om dan over te stappen op C18 in MPlab?
Daarmee zou het toch eenvoudig moeten lukken.
pros
Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)
Of resoluut overstappen van PIC naar AVR. Je (pientertje, niet MAH) zit daar te pronken met Linux in je sig, waar gcc en verwanten een onmisbaar onderdeel van uitmaken. De stap van gcc naar avr-gcc is klein. Zolang je maar geen "malloc(1048576)" of zo gaat uitvoeren. 
Erelce
**** De beschikbare ruimte van een werkplek is omgekeerd evenredig met de grootte van deze werkplek **** AVR-Oefeningen op Electronics 4 Fun
@TS
dit vind ik een goede gratis compiler.
Devcpp-4.9.9.2 ( zowel voor C++ als C )
Kun je de source van 4 op een rij ook delen met ons?
En genereert devcpp ook hex files, indien niet heeft het niet veel nut om daarmee te gaan werken hé.
Erelce
**** De beschikbare ruimte van een werkplek is omgekeerd evenredig met de grootte van deze werkplek **** AVR-Oefeningen op Electronics 4 Fun
Sorry, hex files kun je hier niet mee genereren (ik gebruik dit om standaard-C te oefenen.)
Om hex files te genereren gebruik ik AVR-Gcc in Studio4 van Atmel.
( Dus AVR ipv PIC zoals Pros reeds vermeldde.)
Edit(1):
WINAVR heb je ook nog nodig voor avr-gcc
Edit(2):
(maar ik ben nog een beginneling hiermee.)
Op 2 januari 2010 22:37:21 schreef Erelce:
Om hex files te genereren gebruik ik AVR-Gcc in Studio4 van Atmel.
( Dus AVR ipv PIC zoals Pros reeds vermeldde.)
Inderdaad, of als je op Linux wil werken avr-gcc en avrdude.
timmie
niet met me uitspraken(of opmerkingen) eens mail me.K8048 guide
Het speelveld van 7x7 kan makkelijk in 14 bytes:
- Ieder vakje is 0 = geen, 1 = geel of 2 = rood, dus 2 bits is voldoende
- 7 x 2 bits voor een rij => 14 bits, 2 bytes
- 7 rijen => 14 bytes
Van de twee extra bits zou je er 1 kunnen gebruiken als indicatie of zich een steen op die rij bevindt.
Het moet nog wel kleiner kunnen als je bedenkt dat boven een 0 nooit 1 of 2 voor kan komen ...
Edit: Als we het over favourites hebben, vi + make + avr-ggc + avrdude (en sudo)
Ik ga maar eens wat klooien met een avr.
Stom, stom stom ik dacht dat ik de source gepost had. Hier alsnog:
http://www.uploadarchief.net/files/download/vier.c
@pros doen die avrtjes uberhaubt niet aan dynamic memory allocation, of bedoelde je de grootte?
alle datatypes heb ik al aangepast( int -> unsigned char), ik zal morgen de nieuwe versie posten.
[Bericht gewijzigd door pientertje op (15%)]
Even wat commentaar op je code;
- flikker a.u.b. al die kleiner/groter of gelijk aan statements weg (kleiner of gelijk aan 6 is gewoon kleiner dan 7).
- Gebruik unsinged ints voor je return codes.
- Maak gebruik van de switch statement.
- Wees consequent in je if/else statements met haken en/of inspringen.
- Gebruik wat meer commentaar.
- Bekijk eens hoeveel overhead de rand() functie gebruikt.
Boudie
Vervangen DOOR.
Op 2 januari 2010 23:59:47 schreef The Dutchman:
My favorite: AVR-GCC in Eclipse IDE
Yo! 
Daar wil ik mij graag helemaal bij aansluiten.
Werkt echt fantastisch!
