seriel asynchroon naar seriel synchroon

Alle vragen m.b.t digitale schakelingen m.b.v. losse i.c's
en oplossingen m.b.v. PIC processoren.
Plaats reactie
Mat Janssen
Moderator
Moderator
Berichten: 11593
Lid geworden op: wo 10 dec 2003, 18:36
Locatie: nederweert. .. .. .. .. .. .. .. .. .

Bericht door Mat Janssen »

Wanneer de bitrate niet te hoog is kun je een software uart maken om te ontvangen en de interne uart gebruiken om te zenden.
Proton basic ken ik niet, maar met PBP van melabs kant dit zeker tot 38Kb.
signature ruimte te huur ;-)
Verhuurd :!:
christoforius
Berichten: 28
Lid geworden op: ma 20 nov 2006, 0:01

Bericht door christoforius »

als er iemand weet hoe ik met proton picbasic asynchrone data kan binnen nemen en hoe ik synchrone data moet versturen ben ik ook al dicht bij de oplossing van mijn probleem
christoforius
Berichten: 28
Lid geworden op: ma 20 nov 2006, 0:01

Bericht door christoforius »

of als je weet hoe ik het met melabs picbasic kan doen kan ik het wel omzetten naar proton picbasic
Mat Janssen
Moderator
Moderator
Berichten: 11593
Lid geworden op: wo 10 dec 2003, 18:36
Locatie: nederweert. .. .. .. .. .. .. .. .. .

Bericht door Mat Janssen »

Het asynchrone doe je dan met serin en serout je data. (software uart)
Het synchrone doe je dan met hserin en hserout (interne hardware uart)
Op de melabs site kun je zien hoe je de setup voor deze uarts doet en hoe deze instructies verder van de gegevens worden voorzien.
Het hele boekje hoe de instructies eruitzien en hoe ze gebruikt moeten worden is te downloaden aldaar.
Als je er niet uitkomt wil ik wel een voorbeeldje hiet posten.
signature ruimte te huur ;-)
Verhuurd :!:
christoforius
Berichten: 28
Lid geworden op: ma 20 nov 2006, 0:01

Bericht door christoforius »

ik probeer synchrone data te zenden via een DB25 connector, met de commando's die in picbasic zitten slaag ik er niet in om een degelijke clock op te wekken en data wordt tot mijn spijt ook niet verzonden (ik heb getracht continu dezelfde byte te zenden aan een snelheid van 2400baud/sec), de applicatie die ik maak vereist een clock op pin 17 van de DB25 connector.

Als hardware gebruik ik een PIC 16f767 met een externe oscillator van 4Mhz (kristal)

Heb je soms een voorbeeldprogrammatje waar ik kan uit leren?

Alvast bedankt
Mat Janssen
Moderator
Moderator
Berichten: 11593
Lid geworden op: wo 10 dec 2003, 18:36
Locatie: nederweert. .. .. .. .. .. .. .. .. .

Bericht door Mat Janssen »

Je wil synchroon ontvangen en asynchroon uitzenden met 2400 baud?
signature ruimte te huur ;-)
Verhuurd :!:
Gebruikersavatar
Stynus
Site Admin
Site Admin
Berichten: 5971
Lid geworden op: vr 16 mei 2003, 20:45
Locatie: Overpelt (België)
Contacteer:

Bericht door Stynus »

ik denk dat hij het juist andersom wil.
Met vriendelijke groet,
Stynus
http://www.elektronicastynus.be
Mat Janssen
Moderator
Moderator
Berichten: 11593
Lid geworden op: wo 10 dec 2003, 18:36
Locatie: nederweert. .. .. .. .. .. .. .. .. .

Bericht door Mat Janssen »

Je hebt gelijk Stynus, ik had slecht gelezen.
Voorbeeldje:

Code: Selecteer alles

		'PIC 16F628   synchroon-asychroon
		
		
		@ DEVICE PIC16F628,XT_OSC
		@ DEVICE PIC16F628,MCLR_ON
		@ DEVICE PIC16F628,BOD_OFF
		@ DEVICE PIC16F628,LVP_OFF
		@ DEVICE PIC16F628,CPD_OFF
		@ DEVICE PIC16F628,PROTECT_ON
		
		DEFINE	OSC	4
				
		DEFINE HSER_TXSTA 20H
		DEFINE HSER_RCSTA 90H
		DEFINE HSER_SPBRG 25
		DEFINE HSER_CLROERR 1
		DEFINE SER2_BITS 8
		
		
		CMCON = 7

		TRISA	=	%00111111
		TRISB	=	%00000010
		
		asyncin			VAR	PORTA.0  'ASYNCHROON ZENDEN OP POORT A.0   (PEN 17)
		dataout			VAR	PORTB.1  'SYNCHROON ONTVANGEN OP POORT B.2 (PEN 8)
		buffer			VAR	BYTE
		
		Clear
		
BEGIN:
		SerIn2 ASYNCIN,396,[BUFFER] 'EEN BYTE BINNEN LEZEN
		HSerout [BUFFER]			'BYTE VERZENDEN
		
		GoTo BEGIN
		
		End
				
signature ruimte te huur ;-)
Verhuurd :!:
christoforius
Berichten: 28
Lid geworden op: ma 20 nov 2006, 0:01

Bericht door christoforius »

hoe wordt in dit voorbeeld de clock verstuurd?
Wordt deze via de CK uitgang van de PIC naar buiten gebracht?
Mat Janssen
Moderator
Moderator
Berichten: 11593
Lid geworden op: wo 10 dec 2003, 18:36
Locatie: nederweert. .. .. .. .. .. .. .. .. .

Bericht door Mat Janssen »

Nee, als je data uit en klok wil, dan moet ik het anders doen.
I.p.v, hserout komt dan shiftout te staan met als parameter de clockpin en de datapin.
signature ruimte te huur ;-)
Verhuurd :!:
christoforius
Berichten: 28
Lid geworden op: ma 20 nov 2006, 0:01

Bericht door christoforius »

ik zou inderdaad data en clock out moeten hebben
Mat Janssen
Moderator
Moderator
Berichten: 11593
Lid geworden op: wo 10 dec 2003, 18:36
Locatie: nederweert. .. .. .. .. .. .. .. .. .

Bericht door Mat Janssen »

Kun je nu met shiftout verder, of moet ik een voorbeeldje schrijven?
signature ruimte te huur ;-)
Verhuurd :!:
christoforius
Berichten: 28
Lid geworden op: ma 20 nov 2006, 0:01

Bericht door christoforius »

kga het eens met shiftout proberen, eens kijken welk resultaat dat geeft
christoforius
Berichten: 28
Lid geworden op: ma 20 nov 2006, 0:01

Bericht door christoforius »

met het shiftout commando word er geen externe clock gegenereerd, ik zou een externe clock moeten hebben
Mat Janssen
Moderator
Moderator
Berichten: 11593
Lid geworden op: wo 10 dec 2003, 18:36
Locatie: nederweert. .. .. .. .. .. .. .. .. .

Bericht door Mat Janssen »

Shiftout DATAPIN, CLOCKPIN, MODE, [var {\Bits}...]
Dus worden er wel degelijk data en een clocksignaal gegenereerd.
signature ruimte te huur ;-)
Verhuurd :!:
Plaats reactie