Ana Tema => Algoritma ve Program Çözümleri => Konuyu başlatan: enginkanat - 13 Ekim 2024, 22:54:52
Başlık: 12f675 microcode studio derleme hatası
Gönderen: enginkanat - 13 Ekim 2024, 22:54:52
'****************************************************************
'* Name : UNTITLED.BAS *
'* Author : [select VIEW...EDITOR OPTIONS] *
'* Notice : Copyright (c) 2024 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 23.09.2024 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
'__config _INTRC_OSC_NOCLKOUT & _WDT_ON & _MCLRE_ON & _CP_OFF
'@ __CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _MCLRE_OFF & _BODEN_ON
@ __CONFIG _CP_ON & _MCLRE_OFF & _WDT_ON & _PWRTE_ON & _INTRC_OSC_NOCLKOUT
DEFINE OSC 20 ' 20 MHz osilatör tanımlaması
DEFINE HSER_BAUD 9600 ' Seri haberleşme hızını 9600 baud olarak ayarla
DEFINE HSER_TXSTA 24 ' Seri haberleşme ayarı: Asenkron, 8 bit, yüksek hız
DEFINE HSER_SPBRG 129 ' Baud rate register değeri (20 MHz için 9600 baud)
' Değişken tanımlamaları
Frekans VAR WORD ' Ölçülen frekans değeri
ButtonPin VAR GPIO.0 ' Buton pin tanımlaması (GPIO0)
TimerValue VAR WORD ' Timer0 değeri
COUNT_PIN VAR GPIO.1 ' Frekans ölçmek için kullanılan pin (GPIO1)
TRISIO = %00000001 ' GPIO0 input (buton), diğer pinler output
OPTION_REG = %00000111 ' Timer0 prescaler ayarları (1:256)
Main:
IF ButtonPin = 0 THEN ' Butona basıldı mı?
pause 50
while ButtonPin = 0
wend
GOSUB MeasureFrequency ' Frekansı ölç
HSerOut ["Frequency: ", DEC Frekans, " Hz", 13, 10] ' Frekansı seri porttan gönder
PAUSE 500 ' Yarım saniye bekle
ENDIF
GOTO Main ' Ana döngüye geri dön
' Buton basımını kontrol eden fonksiyon
'ButtonPressed:
' IF ButtonPin = 1 THEN ' Butona basıldı mı?
' PAUSE 50 ' Kısa bir bekleme süresi (debouncing için)
' IF ButtonPin = 1 THEN ' Tekrar kontrol et
' RETURN TRUE ' Buton gerçekten basılı
' ENDIF
' ENDIF
' RETURN FALSE ' Buton basılı değil
' RETURN
' Frekans ölçüm alt programı
MeasureFrequency:
TimerValue = 0 ' Timer0 değerini sıfırla
COUNT COUNT_PIN, 1000, TimerValue ' 1 saniye boyunca GPIO1 pinindeki sinyalleri say (1000 ms)
Frekans = TimerValue ' Ölçülen değeri frekansa ata
RETURN
microcode studio 4.0 ile 64 bit windows 7 kullanarak yukarıdaki programı derlemeye çalışıyorum. eklediğim resimdeki hataları alıyorum. aynı programı 16F628A ile derlediğimde bir sorun çıkmıyor. Nerede hata yapıyor olabilirim?
Başlık: Ynt: 12f675 microcode studio derleme hatası
Gönderen: aRci - 14 Ekim 2024, 06:45:12
Pbp klasöründeki pic e ait inc klasorunde config satırı kapalimi
Başlık: Ynt: 12f675 microcode studio derleme hatası
Gönderen: ete - 14 Ekim 2024, 07:55:12
Hataları i 16F628A da bulunan ancak 12F675 de olmayan USART config satırları yaratmaktadır. 12F675 derlerken bu satırları iptal etmeniz gerekir.
Ete
Başlık: Ynt: 12f675 microcode studio derleme hatası
Gönderen: onurinci - 15 Ekim 2024, 20:39:20
bende bir zamanlar saç baş yolmuştum, sonra bir yöntem keşfettim , MPLAB'ın içinde P12F675.inc dosyasını arattırıp, içerine bakıyorum, hangi Register'ler var neler yok , hangi bank'talar, OSC ayarları gibi , adam herşeyi ayrıntılı vermiş....