Ik wil een digitale waarde die omgezet is door de AD converter van deze µC doorsturen via de antenne. De waarde van dit binair getal bevind zich in de registers ADRESL en ADRESH. Op welke pin of op welke manier kan ik dit resultaat nu op de antenne krijgen? Iemand een idee. Ik heb niks in de datasheet gevonden.
datasheet: http://ww1.microchip.com/downloads/en/DeviceDoc/70091a.pdf

Hopelijk kan iemand me hierbij helpen.

TNX

voor ask modulatie moet je de pin DataAsk aan en uitzetten
Voor fsk is het pin datafsk

Aha!
En als de de dataask dan enabled is(rfen natuurlijk ook wordt de waarde van in ADRESL en ADRESH dan overgezet op de antenne? Of moet je dit echt bit per bit doen? Of gaat dit niet rechstreeks van ADRESL en ADRESH (moet je dit eerst in een ander register steken?)

TNX!

Hier staat de code die ik geprobeerd heb om te schrijven.


STATUS_TEMP	equ 20
;---------------------------------------------------------------
			org	00
			goto main
;
			org 04h
			goto IRQ
;*******************************************************************
init		;RFEN uit zetten		
                bcf  GPIO,5	;powersaving
		;In/outputs declareren
bcf		STATUS,RP0	;select bank 0
bcf		TRISIO,3	;declare pin 17 (G P2)
                ;als output om DATAask te sturen
bsf		TRISIO,4	;declare pin3 waar 
                analoog signaal aankomt als input
Bcf		TRISIO,5	;declare pin 2 als output om RFEN te sturen.
		bsf		status,RP0  ;select bank1
		movlw		b'00011000';	;zet gp4 als analoge input en de rest als digitaal.   
+ ook fosc instellen 001 –> 8 Tosc
		movwf		ANSEL 
		;Interrupt instellingen
		Movlw		11000000	;algemeen interrupts instellen
		Movwf		INTCON
		Movlw		01000000	; 
peripheral interrupts instellen
		Movwf		PIE1
;interne oscillator caliberen
		bsf		STATUS, RP0 ;select bank1
		call		3FFh		;get the calibration value
		movwf		OSCCAL	;calibreer de oscillator
		bcf		STATUS,RP0	;select bank0


;AD-CONVERSIE (GP4 en AN3 INPUT)
		Movlw		b'10001100';uitleg zie datasheet
		Movwf		ADCON0
		Startconv	Bcf		ADCON0,1	        ;conversie is nog niet gebeurd
		return
;*******************************************************************
;hoofdprogramma
;*******************************************************************	
main	goto init
;
;	

back	goto 	back		;blijft hier loopen tot er een interrupt gegenereerd word, dan 				;ISR

;*******************************************************************
;Interruptservicesubroutine
;*******************************************************************
IRQ	movwf		W_TEMP		;Copy W to TEMP register
		swapf		STATUS,W		;Swap status to be saved into W
		movwf  	STATUS_TEMP	;Save status to STATUS_TEMP register
;
polling	        btfss	PIR,6			;komt interrupt van adconversion?
		goto	RETFIT0		;Test from where IRQ is comming
		bcf	PIR,6				
;
ISR	;code voor het echt verzenden van de info		
		Bsf	GPIO,2		;dataAsk uit
		Bcf	GPIO,2		;dataAsk aan
(Hier weet ik niet wat ik er nog bij moet typen)
;												
;
RETFIT0	swapf	STATUS_TEMP,W	;Swap nibbles in Status_TEMP register
						;and place result into W
		movwf STATUS		;Move W into STATUS register
						;(sets bank to original state)
		swapf	W_TEMP,F	;Swap nibbles in W_TEMP and place result in W_TEMP
		swapf	W_TEMP,W	;Swap nibbles in W_TEMP and place result into W
		Bsf	ADCON0,1	;start conversie
		retfie	
;***********************************************************************
end

Op 12 november 2007 09:01:35 schreef RobinW:
Aha!
En als de de dataask dan enabled is(rfen natuurlijk ook wordt de waarde van in ADRESL en ADRESH dan overgezet op de antenne? Of moet je dit echt bit per bit doen? Of gaat dit niet rechstreeks van ADRESL en ADRESH (moet je dit eerst in een ander register steken?)

TNX!

Hier staat de code die ik geprobeerd heb om te schrijven.

Code lezen zou wat lang duren vrees ik, misschien later eens

je zal het idd bit per bit moeten versturen, ik vermoed dat de antenne dit een tijdje zal blijven uitsturen (dus net zolang de antenne ingeschakeld is) zodat de andere chip deze ooit kan ontvangen.

Je moet eens kijken in de datasheet waar precies juist je die pin kan activeren. Meestal is dat in een of ander register een bitje aan of uitzetten.

okey. Maar dit bits 1 per 1 sturen, naar welke plaats moet ik deze sturen? Dit vind ik nergens terug in de datasheet.
Misschien lees ik erover of snap ik het niet maar kan iemand mss even de datasheet doornemen om mij te helpen?

toegegeven ik heb het ook niet direct gevonden, wel zie ik dat in de voorbeeldschema's er pinnen doorverbonden worden. Misschien moet je omwille van emc redenen de gepaste pinnen aansturen vanuit een hoogimpedante bron.

ja idd, zo stuur ik vb dataask en rfen aan met behulp van general purpose outputs.
Iemand een idee waar ik de oplossing wel kan vinden? Dus vanuit welk register de antenne data toegestuurd krijgt?