16F628A - HC-06 haberleşme hakkında

Başlatan enginkanat, 27 Mart 2025, 15:03:23

enginkanat

@ __CONFIG _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_ON & _BODEN_OFF & _MCLRE_OFF & _LVP_OFF & _CP_OFF
DEFINE OSC 4
DEFINE HSER_TXSTA 24      ' TXSTA değeri (BRGH=1 için)
DEFINE HSER_SPBRG 25      ' SPBRG değeri (4MHz, BRGH=1, 9600 baud)
DEFINE HSER_BAUD 9600     ' Baud rate ayarı
DEFINE HSER_CLROERR 1     ' RX hatalarını temizle
FREQ VAR WORD
BUTON_STATE VAR BIT
FREQ_HIGH VAR BYTE
FREQ_LOW VAR BYTE
'OSCCON = %01100000   ' Dahili osilatör 4MHz
TRISA = %00000000     ' RA2 (TX) çıkış
TRISB = %00000001     ' RB0 giriş (buton), RB3 çıkış (LED)
CMCON = 7             ' Comparator'lar kapalı
OPTION_REG.7 = 0      ' PORTB pull-up dirençleri aktif
T1CON = %00000111     ' Timer1: 1:256 prescaler (~1 saniye ölçüm)
BUTON_PIN VAR PORTB.0
FREQ_PIN VAR PORTA.0
TX_PIN VAR PORTA.2
LED_PIN VAR PORTB.3
LED_PIN = 1
PAUSE 200
LED_PIN = 0
PAUSE 100
LED_PIN = 1
PAUSE 200
LED_PIN = 0
MAIN:
    IF BUTON_PIN = 0 THEN
        PAUSE 50
        IF BUTON_PIN = 0 THEN  ' Debounce kontrolü
            WHILE BUTON_PIN = 0 : WEND  ' Buton bırakılana kadar bekle
            LED_PIN = 1                  ' LED'i yak
            COUNT FREQ_PIN, 1000, FREQ   ' Frekans ölç
            FREQ_HIGH = FREQ >> 8        ' HIGH byte
            FREQ_LOW = FREQ
            LED_PIN = 0             ' LOW byte
            HSEROUT [DEC FREQ_HIGH, DEC FREQ_LOW]  ' Seri porta gönder
            LED_PIN = 1
            PAUSE 500
            LED_PIN = 0                  ' LED'i söndür
        ENDIF
    ENDIF
    PAUSE 100
    GOTO MAIN

100 KHz'e kadar ölçülen frekans değerini bluetooth alıcısına göndermek için uğraşıyorum ama beceremedim. HSEROUT komutuna gelince program kilitleniyor. Nerede hata yapıyor olabilirim?

Ersin

100 000 i 9600 ile nasıl gönderecen.
115k baud ta sorun çıkarır, 1-2mhz mertebelerinde bluetooth modüller olması lazım anca öyle birşey işini görür.
Tabii pc ye aktariyor isen seri-usb çevirici de desteklemeli.
 

arci03

merhaba aldaki şekilde denermisin
DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive
DEFINE HSER_TXSTA 24h ' Enable transmit, BRGH = 1
DEFINE HSER_SPBRG 25  ' 9600 Baud @ 4MHz, 0,16%
DEFINE HSER_CLROERR 1 ' Clear overflow automatically

a.zorba

Önce BT modulu nu çıkartın . Usb ttl kablo  ile PC ye  gönderin comport okuyan bir program ile dinleyin. Daha sonra hc06 yi takarsiniz . 100 kHz eğer bir değişken ise sorun olmaz.
Bilenler bilir . Biz maraşlilar için şehir olarak şubat ay' i bayram ,kurtuluş ,yaz in gelmesiydi. Şimdi karalar in yas in ayı oldu.

enginkanat

Alıntı yapılan: arci03 - 27 Mart 2025, 20:32:39merhaba aldaki şekilde denermisin
DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive
DEFINE HSER_TXSTA 24h ' Enable transmit, BRGH = 1
DEFINE HSER_SPBRG 25  ' 9600 Baud @ 4MHz, 0,16%
DEFINE HSER_CLROERR 1 ' Clear overflow automatically


20 Mhz kiristal kullanmak istersem nasıl bir değişiklik yapmalıyım?