@ __CONFIG _HS_OSC & _WDT_OFF & _PWRTE_ON & _BODEN_OFF & _MCLRE_OFF & _LVP_OFF & _CP_OFF DEFINE OSC 20 INCLUDE "modedefs.bas" FREQ VAR WORD BUTON_STATE VAR BIT I VAR BYTE TRISA = %00000010 TRISB = %00000010 CMCON = 7 OPTION_REG.7 = 0 BUTON_PIN VAR PORTA.1 FREQ_PIN VAR PORTA.0 RX_PIN VAR PORTB.1 TX_PIN VAR PORTB.2 LED_PIN VAR PORTA.3 LED_PIN = 0 FOR I = 0 TO 3 LED_PIN = 1 PAUSE 300 LED_PIN = 0 PAUSE 300 NEXT I MAIN: IF BUTON_PIN = 0 THEN PAUSE 50 WHILE BUTON_PIN = 0 WEND LED_PIN = 1 COUNT FREQ_PIN, 1000, FREQ SEROUT2 TX_PIN, 84, [DEC FREQ, 13, 10] SEROUT2 TX_PIN, 84, [DEC FREQ, 13, 10] PAUSE 500 LED_PIN = 0 ENDIF PAUSE 100 GOTO MAIN END
Alıntı yapılan: ete - 28 Mart 2025, 14:52:19Bu yazılış şekli Frekans değişkeninin 16 bit olması nedeni ile doğru değil.
Doğrusu;şeklinde olmalıdır.
HSEROUT ["FREKANS: ",DEC FREQ.byte1,DEC FREQ.Byte0, 13, 10]
Ete
Alıntı YapHSEROUT ["FREKANS: ",DEC FREQ, 13, 10]Bu yazılış şekli Frekans değişkeninin 16 bit olması nedeni ile doğru değil.
HSEROUT ["FREKANS: ",DEC FREQ.byte1,DEC FREQ.Byte0, 13, 10]
DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive DEFINE HSER_TXSTA 24h ' Enable transmit, BRGH = 1 DEFINE HSER_SPBRG 129 ' 9600 Baud @ 20MHz, 0,16% DEFINE HSER_CLROERR 1 ' Clear overflow automatically
INCLUDE "modedefs.bas" DEFINE OSC 20 DEFINE HSER_RCSTA 90h DEFINE HSER_TXSTA 24h DEFINE HSER_BAUD 9600 DEFINE HSER_SPBRG 129
HSEROUT ["FREKANS: ",DEC FREQ, 13, 10]