Pic 16f877a en serial verbinding

Ontwerpen en programmeren

Postby henko » Tue Jan 28, 2014 12:00 am

Hallo Allen,

Ik zo weinig tijd om mijn hobby uit te voeren.
Gelukkig heb ik wat meer tijd nu.

Ik wil proberen om een Pic16f877a waardes uit te lezen met een laptop.
Dus ik ga een rs232 verbinding opzetten met een max 202 en na de max 202 een rs 232 kabel naar usb. Deze kabels zijn er.
Mijn zoon zit In de IT die goed overweg met C# en hij is in staat om alles te programmeren wat we nodig hebben.
Uiteindelijk wil ik proberen om mijn weerstation op mijn laptop kunnen zien.
Maar nu weet ik niet precies of er in de pic nog iets speciaals geprogrammeerd moet worden.
Ik heb zelf al gezocht op internet, maar ik kon niets daarover vinden.
ik heb wel gelezen dat een trigger moet sturen naar de pic, maar precies weet ik dat ook niet.
Wie kan mij een zetje geven?

Groet Henk.
henko
 
Posts: 529
Joined: Thu Jan 02, 2014 3:27 pm

Postby nieuw 2 » Tue Jan 28, 2014 12:00 am

Henk,

Waarom een MAX202 en geen MAX232? Een MAX232 is zowat de standaard voor RS232.

Ik zou zelfs geen MAXxxxx gebruiken. Ik zou eerder kiezen voor een FTDI USB=>RS232 oplossing op 5V. Daar bestaan kabels waar de FTDI chip in de USB-connector zit en de draad uit x-aantal aders bestaat. Ik weet dat ze niet echt goedkoop zijn. Een goede USB=>RS232 kabel met FTDI chip kost ook wat. Met Prolific chips heb ik geen goede ervaringen.

Zoek eens op het internet. Bepaalde kristallen zijn gemakkelijker te gebruiken om een mooie baudrate te maken.

Voor de rest is het aan jou en je zoon. Afspreken welk token voor welke actie staat. Zorg wel dat je een minimum aan foutcontrole doet. Bijvoorbeeld 2 keer na elkaar hetzelfde token ontvangen voor je antwoord. Ook hier kan je dan weer opteren om alles 2 keer te sturen. Je kan bijvoorbeeld ook uitgaan van 2 bytes gegevens en een derde byte een checksum. Je zal alleszins ook een start en stop teken nodig hebben.'
nieuw 2
 
Posts: 122
Joined: Thu Jan 02, 2014 3:28 pm

Postby petrus bitbyter » Tue Jan 28, 2014 12:00 am

Hmm... Het zou helpen als je wat meer informatie over het desbetreffende weerstation verschafte. Is het een Elektuur ontwerp? Zo ja, uit welk nummer? Zo nee, is er een handleiding/bouwbeschrijving? Is de sourcecode beschikbaar?

petrus bitbyter
petrus bitbyter
 
Posts: 663
Joined: Thu Jan 02, 2014 3:27 pm

Postby henko » Tue Jan 28, 2014 12:00 am

Nieuw2,
Ik gebruik een Max 202 omdat ik daar een voorbeeldschakeling van heb met een Pic16f877.
Dat is een voorbeeld dat staat in het boek 50 microcontrollers van Bert v Dam.
De RS232 verbinding staat daar uitvoerig beschreven.
Het enigste is dat hij werkt met een RS232 ingang op een PC dus hij hoeft het niet om te zetten naar USB.
Bovendien werkt hij met Jal programering.
En ik werk met Flowcode en E-blocks.

Petrus bitbyter,

Het hele weerstation is een eigen ontwerp het staat voor een groot deel op Het forum van Electuur met foto en al.
Ik gebruik Flowcode dus ik werk grafisch, maar onder water word dat omgezet naar C. Dus het is mogelijk om de sourcecode online te zetten.
De sourcecode heb ik zelf bedacht maar ik weet nog niet of het allemaal correct werkt.
henko
 
Posts: 529
Joined: Thu Jan 02, 2014 3:27 pm

Postby henko » Tue Jan 28, 2014 12:00 am

Nieuw2,
Ik gebruik een Max 202 omdat ik daar een voorbeeldschakeling van heb met een Pic16f877.
Dat is een voorbeeld dat staat in het boek 50 microcontrollers van Bert v Dam.
De RS232 verbinding staat daar uitvoerig beschreven.
Het enigste is dat hij werkt met een RS232 ingang op een PC dus hij hoeft het niet om te zetten naar USB.
Bovendien werkt hij met Jal programering.
En ik werk met Flowcode en E-blocks.

Petrus bitbyter,

Het hele weerstation is een eigen ontwerp het staat voor een groot deel op Het forum van Electuur met foto en al.
Ik gebruik Flowcode dus ik werk grafisch, maar onder water word dat omgezet naar C. Dus het is mogelijk om de sourcecode online
henko
 
Posts: 529
Joined: Thu Jan 02, 2014 3:27 pm

Postby schueler » Tue Jan 28, 2014 12:00 am

De PIC16F877a heeft en uart aan boord. Het zal dus niet zo heel moeilijk zijn om die aan de praat te krijgen.
Meestal heb je aan de datasheet voldoende. Kwestie van de baudrate goed instellen. An je niet al te grote bursts verstuurt mag 1% afwijking geen probleem zijn.
Check geregeld de receive flag of er data binnen gekomen. Als dat zo is kun je de data uit een register halen.
Ongeveer hetzelfde voor het versturen. Data klaarzetten en een schop geven. De rest gaat dan vanzelf.


Ben
schueler
 
Posts: 1433
Joined: Thu Jan 02, 2014 10:40 am

Postby schueler » Tue Jan 28, 2014 12:00 am

Net even in de datasheet gekeken en vanaf pagina 111 staat beschreven hoe je het moet instellen en kunt uitlezen.
Hoe je dat dan verwerktis sterk compiler afhankelijk. Voorbeelden zijn lang niet altijd heilig omdat die dus net voor een andere compiler geschreven zijn.
Welke compiler gebruik je?
XC8?

Ben
schueler
 
Posts: 1433
Joined: Thu Jan 02, 2014 10:40 am

Postby schueler » Tue Jan 28, 2014 12:00 am

Dit is misschien wel een leuke site. Deze site legt hie de usart van een pic in elkaar steekt en hoe je die kunt gebruiken.

http://www.microcontrollerboard.com/pic_serial_communication.html



Ben
schueler
 
Posts: 1433
Joined: Thu Jan 02, 2014 10:40 am

Postby henko » Tue Jan 28, 2014 12:00 am

Jij bedoeld het programma XC8 waarmee de pic word geprogrameerd?
Ik gebruik Flowcode.
henko
 
Posts: 529
Joined: Thu Jan 02, 2014 3:27 pm

Postby schueler » Tue Jan 28, 2014 12:00 am

Ah, flowcode.
Dat heb je al die registergegevens niet nodig nee...
Ik heb er ook een smee gewerkt maar was er niet tevreden over. De code werd veel te groot en paste niet meer in de pic dat ik gebruikte toentertijd.

Als het goed is kun je gewoon een blokje uit de library trekken toch?


Ben
schueler
 
Posts: 1433
Joined: Thu Jan 02, 2014 10:40 am

Next

Return to Microcontrollers

Who is online

Users browsing this forum: No registered users and 1 guest