Go Down

Topic: eindelijk (Read 11385 times) previous topic - next topic

Hedalen

zijn hier op t forum ook leden die pic-chips programmeren?

nicoverduin

Ooit gedaan jaartje of wat terug. Via zo'n groot PIC Easypic V6 board en een chinese variant.
Met vriendelijke groet / kindest regards
Nico Verduin
www.verelec.nl
Do not PM me for personal consultancy unless you are willing to pay for it.

sterretje

#17
Mar 18, 2018, 11:38 am Last Edit: Mar 18, 2018, 11:39 am by sterretje
Zo'n 20 jaar geleden; 16C5x serie. Eind product ging in een 16C54.

Ontwikkelen met de 16C57; extra pinnen om leds aan te sturen om aan te geven waar het programma was; kon me geen software serial veroorloven vanwege timing. En extra geheugen in the 16C57 voor debugging.

EEPROM versies, dus na iedere verandering van de code ging het IC in the UV bak om het te wissen; OK, ik had een handvol dus het wissen ging in batches. Programmeren met een HiLo programmer (als ik me niet vergis).

Het was eigenlijk mijn eerste uitstapje in software ontwikkeling in de embedded wereld.
If you understand an example, use it.
If you don't understand an example, don't use it.

Electronics engineer by trade, software engineer by profession. Trying to get back into electronics after 15 years absence.

Hedalen

#18
Mar 18, 2018, 12:13 pm Last Edit: Mar 18, 2018, 12:21 pm by Hedalen
in picbasic pro is nl een commando "toggle", die n uitgang van hoog naar laag of omgekeerd zet,
kent arduino zoiets ook?

sterretje

Ik stel voor dat je wat gaat lezen over bv. digitalWrite and digitalRead en een beetje C/C++. En dan kun je iets zoals hieronder schrijven.
Code: [Select]
digitalWrite(somePin, !digitalRead(somePin));
If you understand an example, use it.
If you don't understand an example, don't use it.

Electronics engineer by trade, software engineer by profession. Trying to get back into electronics after 15 years absence.

Hedalen

daar had ik bij gekeken,

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status

void setup() {
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);
}

void loop() {
  // read the state of the pushbutton value:
  buttonState = digitalRead(buttonPin);

  // check if the pushbutton is pressed. If it is, the buttonState is HIGH:
  if (buttonState == HIGH) {
    // turn LED on:
    digitalWrite(ledPin, HIGH);
  } else {
    // turn LED off:
    digitalWrite(ledPin, LOW);

maar hier blijkt de poort al terug tegaan naar de oorspronkelijke stand, als de schakelaar word losgelaten

sterretje

Dan was je vraag niet helemaal lekker. Je vroeg om een toggle functie en die heb ik je gegeven :)

Je zult een paar dingen moeten leren

1)
Huishoudelijk ;)
Het gebruik van code tags als je code in in post invoegt
Type [code]
Plak je programma daarachter
Type [/code] achter het geplakte programma

2)
Benadering
Je moet niet detecteren dat een knop ingedrukt is of niet; je moet kijken of the knop verandert van niet ingedrukt naar ingedrukt. De IDE komt met een state change detection voorbeeld; bestudeer het, begrijp het en kom op met een idee voor je eigen implementatie.

Als de knop verandert van niet ingedrukt naar ingedrukt kun je de status van een uitgang veranderen van HOOG naar LAAG of omgekeerd.
If you understand an example, use it.
If you don't understand an example, don't use it.

Electronics engineer by trade, software engineer by profession. Trying to get back into electronics after 15 years absence.

nicoverduin

Ik zou zeggen lees en bekijk de voorbeeld programmas in de ide eens
Met vriendelijke groet / kindest regards
Nico Verduin
www.verelec.nl
Do not PM me for personal consultancy unless you are willing to pay for it.

Hedalen

Dan was je vraag niet helemaal lekker. Je vroeg om een toggle functie en die heb ik je gegeven :)

Je zult een paar dingen moeten leren

1)
Huishoudelijk ;)
Het gebruik van code tags als je code in in post invoegt
Type [code]
Plak je programma daarachter
Type [/code] achter het geplakte programma

2)
Benadering
Je moet niet detecteren dat een knop ingedrukt is of niet; je moet kijken of the knop verandert van niet ingedrukt naar ingedrukt. De IDE komt met een state change detection voorbeeld; bestudeer het, begrijp het en kom op met een idee voor je eigen implementatie.

Als de knop verandert van niet ingedrukt naar ingedrukt kun je de status van een uitgang veranderen van HOOG naar LAAG of omgekeerd.
sorry dat mn vraag niet lekker was voor leden die geen picbasic kennen

sterretje

Dit heeft weining te maken met het feit of iemand PicBasic kent of niet,

Je beschrijving was dat er een subroutine is die een pin omzet; uit je beschrijving lijkt voort te vloeien dat die subroutine een (1) argument nodig heeft, de pin die je wilt omzetten. Ik heb nooit in PicBasic geschreven, dus de subroutine maar even opgezocht in de reference manual en die beschrijving lijkt juist te zijn.

Ik weet vrijwel zeker dat, als je je PIC programma op dezelfde manier had geschreven als je Arduino programma, je tegen hetzelfde probleem was aangelopen. Iets zoals hieronder lijkt erg veel op wat je in je Arduino loop() hebt

Code: [Select]

buttonState = PORTC.0

if buttonState = 1 then PORTB.2 = 0
else PORTB.2 = 1
If you understand an example, use it.
If you don't understand an example, don't use it.

Electronics engineer by trade, software engineer by profession. Trying to get back into electronics after 15 years absence.

nicoverduin

Dit heeft weining te maken met het feit of iemand PicBasic kent of niet,

Je beschrijving was dat er een subroutine is die een pin omzet; uit je beschrijving lijkt voort te vloeien dat die subroutine een (1) argument nodig heeft, de pin die je wilt omzetten. Ik heb nooit in PicBasic geschreven, dus de subroutine maar even opgezocht in de reference manual en die beschrijving lijkt juist te zijn.

Ik weet vrijwel zeker dat, als je je PIC programma op dezelfde manier had geschreven als je Arduino programma, je tegen hetzelfde probleem was aangelopen. Iets zoals hieronder lijkt erg veel op wat je in je Arduino loop() hebt

Code: [Select]

buttonState = PORTC.0

if buttonState = 1 then PORTB.2 = 0
else PORTB.2 = 1


Leek mij ook dat je hem in eerste instantie al goed had. Soms helpen die voorbeeld uit de IDE wel eens :) Maar dat Noorse kroontje moet nog vallen....
Met vriendelijke groet / kindest regards
Nico Verduin
www.verelec.nl
Do not PM me for personal consultancy unless you are willing to pay for it.

Hedalen

eindelijk mn LCD's en RTC's binnen, kan nu aan de gang gaan

Hedalen

volgens mij reageert mn UNO-board op pin10 niet meer zoals het zou moeten, is er n handig tooltje voor om dat te testen?

nicoverduin

Ledje aan en uit met een weerstandje in serie?
Met vriendelijke groet / kindest regards
Nico Verduin
www.verelec.nl
Do not PM me for personal consultancy unless you are willing to pay for it.

Hedalen

ik zoek alles af, maar kan niets vinden betreffende enkel led en weerstandje

ja zat op de poort 13

Go Up