Hey,

Momenteel probeer ik een PIC 16F876 via de UART te laten communiceren met de pc. Via het commando SERIN en SEROUT lukt het zonder problemen. Maar zodra ik het commando voor de hardware UART probeer te gebruiken loop ik vast en krijg ik geen data. iemand een idee? code staat hieronder.


DEFINE  OSC 4          ' We're using a 4 MHz oscillator   
ADCON1=7
LED var PORTB.5

' Set receive register to receiver enabled
Define HSER_RCSTA 90h

' Set transmit register to transmitter enabled
Define HSER_TXSTA 24h

' Set baud rate
Define HSER_BAUD  9600

pause 100 'startupdelay

mainloop:

    high led
    HSerout ["hello"]
    pause 500
    low led
    goto mainloop
      
end

Ik doe het altijd zo:


    HSERIAL_BAUD  = 9600          ;Transmissiesnelheid van de data over de bus
    HSERIAL_RCSTA = %10010000     ;Bit7:Enable serial port / Bit4:Continu ontvangen
    HSERIAL_TXSTA = %00100000     ;Bit5:Transmitpin ingeschakeld (TXEN (Transmit ENable) = 1)
    HSERIAL_CLEAR On

Is het niet: HSerout "hello"
In plaats van: HSerout ["hello"]

Op 16 december 2011 12:52:06 schreef Piet_Knutselaar:
Ik doe het altijd zo:


    HSERIAL_BAUD  = 9600          ;Transmissiesnelheid van de data over de bus
    HSERIAL_RCSTA = %10010000     ;Bit7:Enable serial port / Bit4:Continu ontvangen
    HSERIAL_TXSTA = %00100000     ;Bit5:Transmitpin ingeschakeld (TXEN (Transmit ENable) = 1)
    HSERIAL_CLEAR On

Dit zou precies hetzelfde moeten doen als mijn versie met enig verschil dat het één hexadecimaal is en het andere binair.

en bij HSerout "hello" krijg ik een compilererror dus dat is het ook niet.

het geheel heb ik werkend gekregen, de oorzaak was een hardwarefout.

Klopt HSER_TXSTA wel? In het andere voorbeeld zie ik HSERIAL_TXSTA...

Gebruik je Proton of Mikro basic?
Mijn voorbeeld is van Proton.