Waar zijn we nu mee bezig ? Microcontrollers

Gestart door ToThePoint, 13 januari 2012, 10:27:28 AM

raf

dani ik ben niet te oud om te leren hoor

maar ik zou dan een arry moeten maken van 40 op 3
waarvan 40 de mogelijkheden zijn die ik kan hebben
en die drie zijn dan het vertrek ,de aankomst ,en wat er verzonden moet worden aan pulsbreedte
maar omdat de vertrek en aankomst niet juist een getal is waar je van kan zeggen ok druk ik knop 4 dan meet ik 40 op de ingang
want het kan ook 35 zijn
als bv de temperatuur oploopt in de kamer veranderen de weerstands waarden in de console
daarom de case <2 doe dit
case <10 doe dees

die arry's zijn ook nog van mijn tijd want die hadden we toen nodig om het beeldscherm op te bouwen dus ik heb er wel mee gewerkt maar ik moet dat terug eens bekijken
als ik nu die arry's in eeprom kon zetten dan bespaarde ik plaats in het werk geheugen
maar dat is nieuw voor me want dat bestond toen nog niet

gr raf
If I make mistakes in "spelling"
Remember it's the pen, that's bad
Don't lay the blame on me.

patrick smout

Citaat van: raf op 05 januari 2016, 13:16:30 PM
je maakt dus een array index [40] want er zijn 40 mogelijkheden
heel die index moet je dus eerst vullen met data en dat kost ook geheugen plaats want het is niet 1,2,3 maar het is < 2 of <10 of < 50 of <240
dus index = index + 1 gaat niet kloppen
In mijn voorbeeld ging ik ervan uit dat we de arrays gebruiken om aan de hand van de 2 knopnummers het juiste blok te kunnen selecteren.
Je kan ook array(s) gebruiken om de weerstandswaarde om te zetten naar een knopnummer. Die lus moet je dan 2 keer doorlopen (en de test in de lus is uiteraard anders).
Het klopt dat je extra geheugen ruimte kwijt bent voor het initialiseren van de arrays maar ik vermoed dat dit nog altijd minder zal zijn dan de andere code. Ik programmeer hoofdzakelijk in C. Initialiseren van een array met constante data kost je daar geen byte extra (buiten de data die er in moet). Voor zover ik kan zien kent deze taal geen geinitialiseerde variabelen, jammer maar helaas.
Om dit te omzeilen kan je in Proton Basic wel gebruik maken van de opdracht LREAD en LDATA ipv de array. Met LDATA zet je constanten onmiddellijk in het geheugen (zonder extra code). Met LREAD kan je ze uitlezen (in een lus + een loopteller ).
ik vermoed dat dit de meest compacte oplossing zal geven.

Voor het omzetten van weerstandswaarden naar een knopnummer kan je mogelijk ook gebruik maken van de opdracht LOOKDOWNL. Uit de beschrijving kan ik afleiden dat een lijst met waarden doorlopen wordt totdat een te definiëren test TRUE oplevert als resultaat. Komt dicht in de buurt van wat je nodig hebt.

mvg,

Patrick
Met vriendelijke groeten,

Patrick Smout

raf

#992
hallo patrick

die lookdownl doe ik reeds met de case functie

met ewrite zou ik de arry in eeprom kunnen zetten dan spaar ik werk geheugen
en dan met eread deze terug lezen indien nodig
maar dat gaat niet meer dan omslachtig worden terwijl het nu wachten is tot de nieuwe pic's met meer geheugen binnen gekomen zijn
ok niet qua programma de beste oplossing maar de basic van 25 jaar of langer geleden is niet de basic die ik nu aan het gebruiken ben 
er zijn een pak pic gerelateerde instructies bijgekomen en er zijn er ook weg gevallen of minder gebruikt
met peek en poke kon je rechtstreeks in het geheugen of zelfs op het scherm een pixel beïnvloeden .
ik ga me eens verdiepen in die lookdownl en kijken of ik er iets mee aan kan vangen

ik had ook in gedachte om de twee nummers *10 te doen en dan op te tellen en dan krijg ik ook een waarde waarmee ik maar 2 array's nodig ga hebben
BV 1*10 +5 komt op 15
1 vertrek 5 aan komt
dan met 15 kijken in de array welke code blok moet krijgen en dit verzenden
maar ik heb het nog niet na gekeken of ik dan dubbele codes kan hebben
want 5*10  +1 geeft 51 en dat is dus vertrek van uit 5 aankomst in 1 en toch is het dezelfde blok code die verzonden moet gaan worden
omdat de rijweg dezelfde is
geen gemakkelijke opgave zo te zien maar dat houd het spannend


gr raf 
If I make mistakes in "spelling"
Remember it's the pen, that's bad
Don't lay the blame on me.

dani

Citaat van: raf op 06 januari 2016, 08:44:07 AM
met peek en poke kon je rechtstreeks in het geheugen of zelfs op het scherm een pixel beïnvloeden .
Zie nu, ne COmmodore fan !
De kruik is te water gegaan...
De kruik is niet meer.

raf

nee Z 80 en later de ZX 80 van sinclaire
die commedore basic was nog grotere shit LOL
terwijl die sinclaire basic reeds veel van gwbasic had
If I make mistakes in "spelling"
Remember it's the pen, that's bad
Don't lay the blame on me.

Gerolf

Het begin van de centrale voor MeB:



Centrale 20-polige bus, gemaakt met lintkabel-headers. Tot 14 I2C-slaves mogelijk
Voorlopig een I2C-Master-print (die ook nog enkele andere dingen zal doen) en een output-print
... de volgende stappen voor een meer intelligente aansturing van MeB  ::)
Groeten uit "Marche-en-Bières"   ** Modelspoor is plezant **   TPIII-H0-DC-Zelfbouw

Steam.N

Ziet er alweer erg propertjes uit, Gerolf.
Ik ben benieuwd naar het resultaat van de testen.  ;)
Knutselgroeten !  Jean       TP-I (B) & TP-II (DR) - N - DC - Handbediening - Zelfbouw  { Sedelocus - De Feniks - Pira-N's Crossing - Turnhout NEEB - Scrap Yard }

Gerolf

Proefopstelling: De centrale heeft intussen 4 printjes,
en is aangesloten op enkele snelheidsregelaars
en aan de centrale noodstop-schakeling.



... en zo kan ik wat stappen verder doen. Eerst de interne communicatie van de centrale ...
Groeten uit "Marche-en-Bières"   ** Modelspoor is plezant **   TPIII-H0-DC-Zelfbouw

Steam.N

Goed bezig, Gerolf.
Er brandt al een  lampje   ;)  ;D
Knutselgroeten !  Jean       TP-I (B) & TP-II (DR) - N - DC - Handbediening - Zelfbouw  { Sedelocus - De Feniks - Pira-N's Crossing - Turnhout NEEB - Scrap Yard }

Gerolf

Groeten uit "Marche-en-Bières"   ** Modelspoor is plezant **   TPIII-H0-DC-Zelfbouw

PeterC

Busprinten :-)
Jaren geleden dat ik dat nog heb gezien.  Ik heb onlangs (tijdens opruimwerken) nog enkele busprinten gevonden die waren voorzien van 64 polige haakse connectoren, zoals jou systeem maar dan met printconnectoren.  Een universele data-, adres- en controlebus zorgde voor de onderlinge verbindingen tussen een processor (Z80) en zijn RAM-ROM-CTC-PIO.  Ik heb er leuke herinneringen aan.



Goe bezig!




Citaat van: Steam.N op 22 januari 2016, 17:54:34 PM
Er brandt al een  lampje   ;)  ;D
Citaat van: Gerolf op 22 januari 2016, 17:57:28 PM
;D en nu zelfs 2  ;D  ::)

Ik hoop dat het die grote beveiligingsgloeilamp niet is...  :o  8) 8) 8)
Groetjes, Peter


Gerolf

Bedankt, Peter  :)

Over die beveiligingsgloeilamp : dat is een 20W-autolampje: kortsluitbeveiliging en -indicatie.
Dergelijke eindtrappen zitten er momenteel in mijn baan voor de huidige snelheidsregelaars, en die ga ik behouden.
Groeten uit "Marche-en-Bières"   ** Modelspoor is plezant **   TPIII-H0-DC-Zelfbouw

Havoc

Ben na 25 jaar nog eens begonnen met software schrijven. Amaai, dat komt allemaal van héél ver. Maar kom, ik kan de pc al via de usb de adc op het bordje laten lezen. Niet echt een microcontroller maar kom, er is geen forum om dat in te zetten.
Met vakantie voor onbepaalde duur.

dani

alle (her-)begin is lastig, maar als je volhoudt, zal je zien dat je op een bepaald moment ineens de zaak weer door hebt.
De kruik is te water gegaan...
De kruik is niet meer.

Havoc

Eigenaardig genoeg was de practische kant het probleem. Eer die eerste lijn er was die het serienummer van het io bordje kon lezen heeft héél lang geduurt. Nu ja, ben er ook niet zo vaak mee bezig. Maar nu de pcb besteld is moet de software stilaan ook beginnen.

Vroeger dat is de tijd van Turbo C en kleine programaatjes, oefeningen voor unief (nulpunten, integralen etc). Maar nu op een Linux Code::Blocks aan de praat krijgen om met een lib van de fabrikant en een interne lib aan de slag te gaan was een ander paar mouwen.

Vroeger had je 2 boeken van Turbo C en daar stond alles in. Het OS daar moest je niet veel van aantrekken, gevoon naar een register schrijven ging ook. Nu... Er is wel internet en Google maar om te vinden wat je zoekt is niet altijd evident. En iets naar de usb schrijven gaat ook 7 lagen door eer het er is.
Met vakantie voor onbepaalde duur.