hallo
Voor een projectje wil een microcontroller aansturen via een console applicatie die ik gemaakt heb ik Visual Studio.
Het is de bedoeling dat wat nu als "cout" op de console krijg, de microcontroller dit ook binnen krijgt.
Wat is het makkelijkste om hier te doen?
hadv
Just find out what you like and let it kill you
Als hardware zul je iets nodig hebben om tussen pc en mcu te kunnen communiceren. Dat kan een fysieke com-interface zijn, maar ook een TTL-USB boardje (wel zo makkelijk).
Vanuit de pc applicatie stuur je de gegevens naar de gewenste com-poort.
Aan de mcu kant hang je de uart rx aan de verzendende kant van de interface. De mcu laat je wachten op binnenkomende gegevens en die verwerk je daarna.
Wel er voor zorgen dat baudrate en overige instellingen overeenkomen natuurlijk.
Jochem
If you want to succeed, double your failure rate.
Het makkelijkste is het over een seriele poort naar buiten te sturen en op de uart van de microcontroller binnen te lepelen. Bij gebrek aan een seriele poort op veel computers (en zeker laptops) tegenwoordig kun je ook gebruik maken van usb<>serial converters. Deze doen aan de serial-kant vaak RS232 op (LV)TTL-niveau waardoor je je een omzetter zoals een max232 kunt besparen (want de microcontroller doet ook TTL/LVTTL).
edit: oh, hadv typt sneller..
hennep
reading can seriously damage your ignorance
Heb je al een microcontroller in gedachten?
Voor $4 heb je al een controller bordje met serieel over USB:
https://www.ebay.com/itm/Leonardo-Pro-Micro-ATmega32U4-8MHz-3-3V-Repla…
Ten eerste welkom op het forum.
Ik doe het op deze manier, lees dit eens door als je tijd en zin hebt.
https://www.circuitsonline.net/downloads/werken_met_profilab_expert_4.…
In hoofdstuk-5 en hoofdstuk-6 wordt het één en ander beschreven, staat op Blz. 50 T/M Blz. 109.
Zelf doe ik het via Profilab expert 4.0, maar dat kan ook met Visual-Basic of met Visual-Studio.
Het allermakkelijkste is tegenwoordig een arduino. Die heeft alles aan boord. Via een USB kabeltje kun je dan serieel communiceren. Voor de PC lijkt het dan een com poort, en op de arduino komt het op de interne uart binnen.
De arduino ide heeft ook een ingebouwde serial port monitor om de communikatie te testen.
buckfast_beekeeper
Van Lambiek wordt goede geuze gemaakt.
Ik vind die arduino bordjes maar niks. Voorgekauwde meuk en te gebruiken zoals zij in gedachten hebben. De bootlader neemt ook nog eens wat geheugen in. De taal zegt me helemaal niks. Een sketch is er om opgevoerd te worden op een podium.
Een FT232R of FTDI USB=>5V TTL kabel en een ATmega8 met 18.4320MHz kristal ben je al heel ver. Er zijn tientallen voorbeelden van seriële communicatie in C te vinden.
Communicatie testen kan je met elk console programma. Putty is een veel gebruikt.
Op 19 mei 2018 22:05:00 schreef buckfast_beekeeper:
Een FT232R of FTDI USB=>5V TTL kabel en een ATmega8 met xx.xxx kristal ben je al heel ver.
En daar omschrijf je wat mij betreft een Arduino, die heeft het allemaal al aanboord, je kan daar ook gewoon C of basic als programeer taal voor gebruiken. Ieder zijn meug, maar voor een beginner ben je wel lekker snel opweg.
Ik snap ook eerlijk gezegd de ballen van de taal van Arduino.
Geef mij maar "gewone" hardware, en te programmeren in assembler.
Dat is voor mij gevoelsmatiger ook makkelijker.
MGP
LDmicro user.
Als je nog een print moet maken en je wilt enkel programmeren dan is het vlug beslist.
Het succes van arduino is zijn print...
hennep
reading can seriously damage your ignorance
Het wordt weer een discussie die nergens naar toe leidt.
De TS vraagt wat is de gemakkelijkste manier om...
Dan is een antwoord als "Ik vind arduino maar niks" of "C is eeen kuttaal" niet iets dat helpt.
De arduino is een goedkope en gemakkelijke microcontrolleroplossing voor beginners. Voor alle arduinobordjes met usb-poort heb je slechts een usbkabel nodig om ermee te starten.
Wil je starten met arduino en assembler (of C/C++) dan kan dat met de types die een avr controller hebben met avr studio. Je hebt dan wel een programmer nodig en je zult de programmeerkabel zelf aan moeten sluiten op de io pennen.
Voor de arduinos met ST controller kun je de ST ontwikkelomgeving downloaden en uiteraard ook weer een geschikte programmer kopen.
Nogmaals, de vraag is "Wat is gemakkelijk?". Is er iets gemakkelijker dan een kantenklaar bordje met een kabeltje, dan hoor ik dat graag.
@hennep
De arduino bootloader in de meeste Arduinos wordt gewoon ondersteund door avrdude. Dus een programmer heb je normaal niet nodig, ook niet als je AtmelStudio of avr-gcc gebruikt om te compileren.
hennep
reading can seriously damage your ignorance
Zelf gebruik ik nog avr studio 4.18 met een Atmel programmer. De bootloader verdwijnt bij mij bij de eerste keer programmeren.
Voor een beginner is jouw argument weer een pro.
Het neemt de noodzaak weg om de Arduino IDE te gebruiken.
buckfast_beekeeper
Van Lambiek wordt goede geuze gemaakt.
Oa op die IO-pennen van een Arduino heb ik het al niet begrepen. Of ik gebruik een deftige Molex c-grid stekker, schroef connectoren of een header uit de SEK 18 series van Harting.
Als we allemaal de voorgekauwde meuk gaan gebruiken, wordt het dan interessanter? Wat is er mooier als zelf vanaf scratch iets te ontwerpen?
Wat is er mooier als zelf vanaf scratch iets te ontwerpen?
Daar sta ik helemaal achter - maar het is niet iets voor een beginner het gemakkelijkste, en daar ging de openingsvraag over.
(en, euh, totdat ik het allemaal wat beter door heb beleef ik best mooie momenten met de Arduino Nano, nuja, de Chinese clones ervan...)
Goedenavond,
excuses voor afwezigheid, druk leven en notificaties staan niet aan blijkbaar.
De mcu die gebruikt gaat worden is een STM Nucleo f303k8 of een fr411re (Die allebei weer zijn geprogrammeerd in de Mbed omgeving),
Ik wou gewoon graag communiceren via usb (En dan hoef ik ook geen FDTI of RS232<>USB converter te gebruiken?.
Ik gebruik VisualStudio met C++, aangezien code wat ik tot nu heb geschreven daar al in staat, er mist alleen nog communicatie naar de mcu. De mcu hoeft niets terg te sturen.
Is er, of heeft iemand, een library die een COM poort kan open en waar ik gemakkelijk een string of vector heen kan sturen?
mvg
Kan je hier wat mee? Ooit van het net geplukt, geen manual.
Even door de code struinen, niet echt moeilijk.
[code=C]
CSerial serial;
serial.Open(poort, 9600);
serial.IsOpened()
serial.SendData(SomethingToSend, strlen(SomethingToSend)
serial.ReadDataWaiting()
serial.ReadData(&SomethingReceived, nrOfChar)
...
...
[/code]
Groetjes,
eSe
Op 24 mei 2018 00:56:26 schreef eSe:
Kan je hier wat mee? Ooit van het net geplukt, geen manual.
Even door de code struinen, niet echt moeilijk.[code=C]
CSerial serial;
serial.Open(poort, 9600);serial.IsOpened()
serial.SendData(SomethingToSend, strlen(SomethingToSend)
serial.ReadDataWaiting()
serial.ReadData(&SomethingReceived, nrOfChar)
...
...[/code]
Groetjes,
eSe
Hier heb ik inderdaad iets aan, ga deze week hier mee bezig.