Acties:
  • 0 Henk 'm!

  • Stijnb_
  • Registratie: Oktober 2009
  • Laatst online: 28-09 00:26
Hey Tweakers,

Ik zit met een kleine vraag ivm PIC programmeren.
In school krijgen we wel een beetje electronica maar nu wil ik me er wat in verdiepen.
Zo zou ik graag PIC programmeren.
Nu wil ik vind ik veel informatie met PIC programmeren met C & assembler.
Maar ik heb vroeger al wat python geleerd, en dus zou het leuk zijn als in PIC kan programmeren.
Is dit mogelijk want nu wil ik python weer wat opvissen en het zou jammer zijn als ik deze taal niet kan gebruiken voor het programmeren van een PIC.
Want later van tijd zou ik graag een interactie op bouwen tussen een pc en mijn PIC.
Maar dat is toekomst muziek, dus is het mogelijk om PIC te programmeren met python?

Alvast beadankt.

Acties:
  • 0 Henk 'm!

  • drBunhead
  • Registratie: September 2010
  • Niet online
Wat zegt Google hierover???

Wel kan ik je aanraden om C aan te leren en dit te gebruiken voor de PIC, is niet heel erg lastig om mee te beginnen en er zijn legio voorbeelden van te vinden, waardoor je "spelenderwijs" steeds meer functies e.d. tot je kan nemen. Hierdoor is het redelijk eenvoudig om stap voor stap je programma's uit te breiden.

spoiler: willekeurig zoekresultaat

Acties:
  • 0 Henk 'm!

  • Hans1990
  • Registratie: Maart 2004
  • Niet online
Kort gezegd: nee
Lang antwoord: nee, maar/tenzij.

Python is een taal die door een interpreter op jouw PC geparsed en uitgevoerd. Die interpreter is voor Windows, Linux en Mac OS geschreven en varianten van dat OS. Een PIC is niets meer dan een heel klein proccesortje met wat geheugen en enkele peripherals ('randapparatuur' voor digitale en analoge interfacing)

Die interpreter is een relatief zwaar programma die op jouw PC geinstalleerd is. Bovendien zitten er talloze libraries e.d. in die je never nooit op een PIC kan krijgen. Je praat over enkele MB's aan (gecompileerde) code en libraries.

Hoewel dit niet voor een PIC is maar voor een veel zwaardere STM32 ARM microcontroller, kan je wel een zeer gestripte versie van python op de microcontroller 'draaien': http://leaflabs.com/2011/09/pymite/

Hier is niet de volledige functionaliteit beschikbaar, en maar beperkte performance. De chip die daar op zit is een machine die 72MHz of in nieuwe versies zelfs 168MHz aantikt. Als je de python performance vergelijkt, dan wordt dat voor 95% waarschijnlijk aan je interpreter verspilt.
Wederom, dit heb ik nog niet voor een PIC gezien.

Wat wel kan , maar je waarschijnlijk weer gebonden bent aan een zeer beperkt aantal microcontrollers , maar das een python controlled MCU: je draait python op de PC, die commando's stuurt naar de microcontroller om zijn I/O uit te sturen of in te lezen. Het is zeer traag, je hebt altijd een PC verbinding nodig, maar het kan wel: http://www.pymcu.com/
Nadeel: je bent gebonden aan hun hardware dan wel een beperkt aantal controllers waar firmware support voor is.


De conclusie van allen: het heeft geen (praktisch) nut anders dan een showcase. Een microcontroller is een programmeerbare chip die dicht bij hardware staat, en dan is de kunst daarvan ook om de ins en outs van zo'n omgeving te kennen. Denk aan: interrupts, instellen vd juiste registers, watchdogs, peripherals, enz. Ik zou gewoon C gebruiken, dat is meest gangbaar en nuttigst. Ook als je naar op andere platformen zoals AVR of ARM gaat werken.
Daarom ook: nooit BASIC of die andere *kuch* 'pruts' talen leren. Je kan prachtig programma in BASIC op PIC16 schrijven, maar dan nooit de code hergebruiken voor een PIC24, PIC32, ARM, enz.

Acties:
  • 0 Henk 'm!

  • Sissors
  • Registratie: Mei 2005
  • Niet online
Om te bevestigen wat Hans zegt, als je iets meer wilt doen dan een eenmalig project, ga alsjeblieft in C (of C++) programmeren. Het is veruit de krachtigste oplossing qua performance, je weet wat er daadwerkelijk gebeurd, en je zit niet vast aan één platform. Tuurlijk ook met C heeft elk platform eigen namen en methodes, maar de basis blijft gelijk.

Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Laatst online: 00:29

Damic

Tijd voor Jasmijn thee

Zelf kon ik al wat programmeren in C++ maar avr is toch soms iets anders :) ik wou ook een ide hebben dat niet zo bloated is als avr studio dus kwam ik hier op: http://code.google.com/p/avr-project-ide/

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • 0 Henk 'm!

  • kitao
  • Registratie: Juli 2012
  • Laatst online: 28-09 14:11
Hans1990 schreef op vrijdag 04 januari 2013 @ 23:33:
Daarom ook: nooit BASIC of die andere *kuch* 'pruts' talen leren. Je kan prachtig programma in BASIC op PIC16 schrijven, maar dan nooit de code hergebruiken voor een PIC24, PIC32, ARM, enz.
Niet om jouw expertise aan te vallen maar het gaat me wat ver om Basic een 'pruts-taal' te noemen hoewel het je natuurlijk vrij staat om je eigen mening te verkondigen.
Ik heb verder weinig met programmeren, hooguit kopiëer ik programma's of knip- en plak wat in elkaar maar ik heb nu wel al een aantal jaren een PIC16F57 waarop de basicstamp-series o.a. zijn gebaseerd. Als men nu kijkt naar het aantal toepassingen die hiermee benut kunnen worden en ook naar het aantal mensen die dit toepassen of toepasten én de duidelijke modulaire opbouw die erbij kan worden geleverd dan vind ik dat Basic als geheel door jou wel een beetje tekort wordt gedaan. (zonder overigens daar boos om te worden ;)
Hieronder een overzichtje wat je er al zomee kunt doen :
http://www.parallax.com/tabid/362/Default.aspx
Inmiddels heb ik ook een atmega erbij genomen omdat iedereen daarmee bezig is en omdat het goedkoper is maar mijn ervaring daarmee is dat veel voorbeelden en toepassingen veel meer versnipperd liggen over het net.
Maar goed, dat heeft verder weinig te maken met de taal C
Ps, het was me onbekend dat basic enkel bij de pic16 kan worden gebruikt (?)

****************************
reactie op volgende post :
Hans, bedankt voor je uitleg hierna, ik heb te weinig ervaring ermee om er dieper op in te gaan maar ik begrijp wel enigzins wat je bedoelt. :)

[ Voor 8% gewijzigd door kitao op 05-01-2013 14:23 . Reden: reactie op volgende post ]


Acties:
  • 0 Henk 'm!

  • Hans1990
  • Registratie: Maart 2004
  • Niet online
Daarom zet het ik ook tussen haakjes voor eigen interpretatie. Ik ben zelf van mening dat Basic, Bascom of wat dan ook leuk is om dingen mee te leren, maar soms gaan dingen enigzins magisch en worden dingen voor je gedaan.
Ik zie dat Mikroe gewoon basic compilers heeft voor een PIC24, PIC32 of ARM, maar deze compilers zijn zeer prijzig (200 dollar).

Maar ik viel over de taal en zijn omgeving vanwege de fundamenten: denk eens aan het instellen van een peripheral. Als ik naar voorbeelden van de PIC32 basic van Mikroe, dan heeft men dus functies zoals SPI1_Init, SP1_Write, 'magisch' bij de hand. Of software UART implementatie: Soft_UART_Init, Soft_UART_Write, read, enz. Dat werkt 'zomaar'? Kan ik ook de source van die functies bekijken om te begrijpen *hoe* een microcontroller werkt?

Bij Arduino heb je ook zo'n opzet met libraries enz.. maar je kan de library source gewoon openen en bekijken. Bij mikroe zie ik een hele waslijst staan met mcl files (voor gecompileerde code), waar je dus niet bij kan.

Dat soort aspecten kan ik mijzelf aan opvreten en ga je op een dag een keer tegen aan lopen.

Acties:
  • 0 Henk 'm!

  • Stijnb_
  • Registratie: Oktober 2009
  • Laatst online: 28-09 00:26
Ik zal verdere informatie opzoeken voor C.
Het probleem is alleen ik zit op een mac dus zal naar software moeten zoeken voor op de mac.

Acties:
  • 0 Henk 'm!

  • Phalox
  • Registratie: Oktober 2006
  • Laatst online: 27-09 11:31

Phalox

Solar Powerrrd

Microchip hun IDE en compiler werken ook op MAC. Je moet dus helemaal niets zoeken.
Pagina: 1