Hallo!
Sinds korst heb ik me gestort op het programmeren van PIC's. Alles goed en wel krijg ik het zowaar voor elkaar om ledjes te laten knipperen en berekeningen uit te voeren.
Nu ben ik echter bezig om simpele printf'jes in mijn hyperterminal te krijgen. Ik programmeer in C, gebruik een PIC 16F886 en de xwisp van Wouter van Ooijen.
Na veel gegoogle ben ik er niet helemaal uit hoe ik dit voor elkaar moet krijgen. Als ik het goed begrepen heb heeft de wisp648 een mogelijkheid om rs-232 te gebruiken. Dit kan zowel door bit-banging (leuke term, zegt me niets) ofwel door twee extra draadjes te gebruiken. Hyperterminal ingesteld op een baudrate van 9600, pariteit N, 8 bits. In de pic roep ik dit aan met:
#use rs232(baud=9600, parity=N, xmit=PIN_C6, rcv=PIN_C7, bits=8)
Na aansluiten op mijn COM poort, en de DB15 naar mijn breadboard rest mij de vraag, wat voor geniale blunder zie ik over het hoofd?
de max232 zit op de wisp648. Dus daar heb ik weinig mee te maken toch?
Zolang de RxD en TxD van de microcontroller naar de db15 connector gaat klopt het toch?
timmie
niet met me uitspraken(of opmerkingen) eens mail me.K8048 guide
ja maar de wisp moet in pass through worden gezet zie ook www.voti.nl/wisp648
Fire_IC
"If I would have listened to my customers, I would have invented a faster horse." - Henry Ford
Wat ben je van plan?
(1) De PIC zonder de wisp648 met de computer laten communiceren
(2) Of de PIC via de wisp628 met de computer laten communiceren.
In dat laaste geval heb je geen extra max232 nodig en voor het eerste geval heb je wel een extra max232 nodig om de data signalen te inverteren en op het juiste voltage te brengen. De pic werkt met 0,5 volt en de computer (com poort) werkt met -12 en 12 volt. Een max232 ertussen zorgt dat dit kan werken.
msicaron
'Ours is the age which is proud of machines that think, and suspicious of men who try to' (H. Mumford Jones)
De manual al eens gelezen die in de link staat de eerder gegeven is? Staat al wat interessante informatie in, lukt het daarmee niet kan je hier een (concrete) vraag stellen.
zoals hierboven gezegd is moet ik de wisp in pass through zetten. Ik heb de manual gelezen, 2 draadjes aangelegd van de DB15 connector naar de TxD en RxD van de PIC.
Nu rest mij nog de vraag hoe ik hem in pass through mode zet?
timmie
niet met me uitspraken(of opmerkingen) eens mail me.K8048 guide
staat er toch duidelijk vermeld
[qoute]
command passtrough
format 00abp
states active
The passthrough command is used to put the programmer in passthrough mode.
The a value selects the lines (of the programmers target DB15M connector) and polarity used for the communication between the programmer and the target PICmicro.
ab = '00' : line 3 for programmer-to-target, line 4 for target-to-programmer, RS232 polarity (used when the PICmicro would connect to the RS232 lines without an inverting buffer)
ab = '01' : line 3 for programmer-to-target, line 4 for target-to-programmer, TTL polarity (as used by the PICmirco UART)
ab = '02' : line 7 for programmer-to-target, line 8 for target-to-programmer, RS232 polarity (used when the PICmicro would connect to the RS232 lines without an inverting buffer)
ab = '03' : line 7 for programmer-to-target, line 8 for target-to-programmer, TTL polarity (as used by the PICmirco UART)
When the PICmicro communicates using its UART the passthrough command should be 0003p, line 7 should be connected to the target's UART RxD pin, and line 8 to the target's UART TxD pin.
The passthrough command can also be used to switch the programmer to a different baudrate, without entering the passthrough mode. The confirmation (the 'p') will be sent back at the new baudrate. A break (framing error) will switch the baudrate back to the default.
ab = '04' : switch to 9k6
ab = '14' : switch to 19k2 (which is the power-up default)
ab = '24' : switch to 38k4
ab = '34' : switch to 57k6
ab = '44' : switch to 115k2
[/qoute]