s.a.
Proton+ da Dword den büyük sayıları nasıl işleyebiliriz. 32 bitten büyük sayılar.
o kadar büyük sayıyla hiç işim olmadı ama eğer lazım olsaydı 2x32bit lik işlem yapmaya çalışırdım. yani
dim LowDouble as double
dim HighDouble as double
gibi yapardım
buna neden ihtiyaç duyuyorsunuz?
AD9851 keypadli sinyal generatoru yapmaya çalışıyorum. Veriyi seri gönderiyorum.
sonuc = ( frek / 4294967296 ) * 180000000
frek 100kHz den büyük olunca "sonuc" değişkenine sığmıyor
bunu denedim,
sonuc = frek /0.006984919311
yine olmadı, float hiç tutmuyor
Gönderdiğim hex burdakini tam tutmuyor http://designtools.analog.com/dt/dds/ad9851.html#troubleshooting (http://designtools.analog.com/dt/dds/ad9851.html#troubleshooting)
düşük frekanslarda problem yok gibi ama kHz lerde Hz sapma oluyor
yardımlarınızı bekliyorum
komut bu şekildemi kullanılacak
Dim frek As Dword
Dim sonuc As Dword
Dim LowDouble As sonuc
Dim HighDouble As sonuc
frek =123456
sonuc = frek /0.006984919311
Print At 2,0,Dec HighDouble
Print At 3,0,Dec LowDouble
s.a.
130 gösterim var cevap yok çok zor bir soru sordum herhalde. Muhittin hocam konuyla alakalı basit bir örnek verebilirmisiniz.
doğru yerde doğru değişken
Device 16F877A
Xtal 4
Dim frek As Dword
Dim temp As Float
Dim Sonuc As Float
frek =123456
temp = frek /6.984919311 ;verdiğinin sayıyı sağacak bir şekilde uyarladım 1000 ile çarptım
Sonuc=temp/1000 ;gerçek sonuç için 1000 e böldüm
Stop
ama ne yapmak istediğini anladım.
ayrıca help de alıntıyı kontrol ediniz.
Alıntı YapDECLARE FLOAT_DISPLAY_TYPE = LARGE or STANDARD
By default, the compiler uses a relatively small routine for converting floating point values to decimal, ready for RSOUT, PRINT, STR$ etc. However, because of its size, it does not perform any rounding of the value first, and is only capable of converting relatively small values. i.e. approx 6 digits of accuracy. In order to produce a more accurate result, the compiler needs to use a larger routine. This is implemented by using the above DECLARE. Using the LARGE model for the above DECLARE will trigger the compiler into using the more accurate floating point to decimal routine. Note that even though the routine is larger than the standard converter, it actually operates much faster. The compiler defaults to STANDARD if the DECLARE is not issued in the BASIC program.
Sizin verdiğiniz kodu denemedim
amacım genliği ayarlanabilir 0-125MHz sinyal jeneratörü yapmak. Easypic5 deniyorum simulasyon yok. Denemek için önceden yazdığım tam kod,
frekans 12345678 Hz olunca hata veriyor.
Device = 18F452
Declare Xtal = 10
'Declare PLL_Req = On '40Mhz
'Config HS_OSC,WDT_OFF,PWRTE_ON,BODEN_OFF,LVP_OFF,DEBUG_OFF,CP_ALL
Warnings = OFF
Config_Start
OSC = HSPLL; HS
'OSC = HS; HS
OSCS = OFF ; Disabled
PWRT = On ; Enabled
BOR = OFF ; Disabled
WDT = OFF ; Disabled
STVR = OFF ; Disabled
LVP = OFF ; Disabled
CP0 = OFF ; Disabled
CP1 = OFF ; Disabled
CP2 = OFF ; Disabled
CP3 = OFF ; Disabled
CPB = OFF ; Disabled
CPD = OFF ; Disabled
WRT0 = OFF ; Disabled
WRT1 = OFF ; Disabled
WRT2 = OFF ; Disabled
WRT3 = OFF ; Disabled
WRTB = OFF ; Disabled
WRTC = OFF ; Disabled
WRTD = OFF ; Disabled
EBTR0 = OFF ; Disabled
EBTR1 = OFF ; Disabled
EBTR2 = OFF ; Disabled
EBTR3 = OFF ; Disabled
EBTRB = OFF ; Disabled
Config_End
' 76543210
TRISA = %00000001
TRISB = %01110000
TRISC = %00000000
TRISD = %00000000
TRISE = %00000000
PORTA = %00000000
PORTB = %00000000
PORTC = %00000000
PORTD = %00000000
PORTE = %00000000
'ADC AYARLARI
ADCON1=%10000100 ' A0,A1 VE A3 ANALOG
Declare Adin_Res 10
Declare Adin_Tad FRC
Declare Adin_Stime 50
'Declare All_Digital= TRUE 'ADC PORTLARININ TAMAMI DİJİTAL GİRİŞ VEYA ÇIKIŞ
Declare LCD_DTPort = PORTD
Declare LCD_RSPin = PORTC.5
'Declare LCD_RSTPin = PORTC.5
Declare LCD_ENPin = PORTC.3
Declare LCD_RWPin = PORTC.4
Declare LCD_CS1Pin = PORTC.6
Declare LCD_CS2Pin = PORTC.7
Declare LCD_Type = graphic
Declare Internal_Font = On
Declare Font_Addr = 0
Declare Warnings = On
Declare GLCD_STROBE_DELAY 100
PortB_Pullups = Off
Declare Float_Display_Type = LARGE
'Declare GLCD_CS_INVERT On
'Declare Float_Display_Type = Fast
Cls 'GLCD EKRANINI TEMİZLE
'AD9851 DEĞİŞKENLERİ
Dim frek As Dword
Dim sonuc As Dword
Dim tbin As Dword
Dim coz As Float
Dim z[4] As Word
Dim TUS As Byte
Dim LowDouble As sonuc
Dim HighDouble As sonuc
'ANALOG DEĞİŞKENLERİ
Dim HAM1 As Word
Dim HAM2 As Float
'AD9851 AYARLARI
Dim DDS_CLK As PORTE.2
Dim DDS_SI As PORTE.1
Dim DDS_CS As PORTE.0
'MCP41010 AYARLARI
Dim MCP_CLK As PORTC.0
Dim MCP_SI As PORTC.1
Dim MCP_CS As PORTC.2
Dim MCP_SAYI As Byte
'TUŞ TAKIMI DEĞİŞKENLERİ
Dim SAYI As Dword
Dim TEMP As Byte
'TUŞ TAKIMI
Dim YTY1 As PORTB.0
Dim YTY2 As PORTB.1
Dim YTY3 As PORTB.2
Dim YTY4 As PORTB.3
Dim DKY1 As PORTB.4
Dim DKY2 As PORTB.5
Dim DKY3 As PORTB.6
'Dim X As Word
'Dim Y As Word
coz=0.006984919311
'MCP_SAYI = 0
TEMP = 0
frek = 0
TUS = 0
SAYI = 0
sonuc = 0
z[0] = 0
z[1] = 0
z[2] = 0
z[3] = 0
'Clear
DelayMS 500
Cls
' glcd resim basma
Dim Xpos As Byte
Dim Ypos As Byte
Dim Addr As Word
Dim char As Byte
For Ypos = 0 To 7
For Xpos = 0 To 127
Addr = (Ypos*128)+Xpos
char = CRead deneme+Addr
LCDWrite Ypos,Xpos,[char]
Next
Next
DelayMS 6000
Cls
BASLA: '*********************** PROGRAM BAŞLANGICI ***************************
ADCIN 0,HAM1 ' 0. KANALDAN ANALOG
HAM2=HAM1
HAM2=HAM2 + 1
HAM2=HAM2 * 5 /1024
MCP_SAYI = MCP_SAYI + 1 ' DENEMEK İÇİN MCP SAYISI ARTIR
If MCP_SAYI = 255 Then
MCP_SAYI = 0
Cls
EndIf
'**************************** TUŞ TARAMA *******************************
High YTY1
If DKY1 = 1 Then TUS = 1 : GoSub hesapla : While DKY1 = 1 : Wend
If DKY2 = 1 Then TUS = 2 : GoSub hesapla : While DKY2 = 1 : Wend
If DKY3 = 1 Then TUS = 3 : GoSub hesapla : While DKY3 = 1 : Wend
DelayMS 10
Low YTY1
High YTY2
If DKY1 = 1 Then TUS = 4 : GoSub hesapla : While DKY1 = 1 : Wend
If DKY2 = 1 Then TUS = 5 : GoSub hesapla : While DKY2 = 1 : Wend
If DKY3 = 1 Then TUS = 6 : GoSub hesapla : While DKY3 = 1 : Wend
DelayMS 10
Low YTY2
High YTY3
If DKY1 = 1 Then TUS = 7 : GoSub hesapla : While DKY1 = 1 : Wend
If DKY2 = 1 Then TUS = 8 : GoSub hesapla : While DKY2 = 1 : Wend
If DKY3 = 1 Then TUS = 9 : GoSub hesapla : While DKY3 = 1 : Wend
DelayMS 10
Low YTY3
High YTY4
If DKY2 = 1 Then TUS = 0 : GoSub hesapla : While DKY2 = 1 : Wend
If DKY1 = 1 Then GoSub yildiz :While DKY1 = 1 : Wend '* tuşu
If DKY3 = 1 Then GoSub diyez : While DKY3 = 1 : Wend'# tuşu
DelayMS 10
Low YTY4
'MCP41010 VERİ GÖNDERME
SHOut MCP_SI,MCP_CLK,1,[%00010001,MCP_SAYI]
PulsOut MCP_CS,3
'EKRAN_YAZ:
Print At 0,0,"frk. :",Dec frek
Print At 0,15,"Hz"
Print At 1,0,"sonuc :",Dec sonuc',"sonuc = frek /coz"
Print At 2,0,"hex :",Inverse 1,Hex2 z[0],Hex2 z[1],Hex2 z[2],Hex2 z[3],Inverse 0
Print At 3,0,"SAYI :",# SAYI
Print At 4,0,"MCP :",Dec MCP_SAYI
Print At 6,1,Dec2 HAM2 ," Volt"
Print At 7,1,Dec8 coz
'RETURN
DelayMS 100
GoTo BASLA
hesapla:
TEMP=TUS
SAYI = (SAYI * 10) + TEMP
TEMP=0
'tus = 0
Return
DDS_GONDER: ' AD9851 HESAPLAMA VERİ GÖNDERME
frek = SAYI
'sonuc = ( frek / 4294967296 ) * 180000000
sonuc = frek /coz
z[0] = (sonuc.0*128)+(sonuc.1*64)+(sonuc.2*32)+(sonuc.3*16)+(sonuc.4*8)+(sonuc.5*4)+(sonuc.6*2)+(sonuc.7*0)
z[1] = (sonuc.8*128)+(sonuc.9*64)+(sonuc.10*32)+(sonuc.11*16)+(sonuc.12*8)+(sonuc.13*4)+(sonuc.14*2)+(sonuc.15*0)
z[2] = (sonuc.16*128)+(sonuc.17*64)+(sonuc.18*32)+(sonuc.19*16)+(sonuc.20*8)+(sonuc.21*4)+(sonuc.22*2)+(sonuc.23*0)
z[3] = (sonuc.24*128)+(sonuc.25*64)+(sonuc.26*32)+(sonuc.27*16)+(sonuc.28*8)+(sonuc.29*4)+(sonuc.30*2)+(sonuc.31*0)
''AD9851 VERİ GÖNDER
'SHOut DDS_SI,DDS_CLK,1,[z[0],z[1],z[2],z[3],0]
PulsOut DDS_CS,3
SAYI = 0
Cls
Return
'CWrite 10,[frek]
diyez:
GoSub DDS_GONDER
SAYI = 0 : TEMP = 0
Return
yildiz:
SAYI = 0 : TEMP = 0
Cls
Return
End ' ************************* PROGRAM SONU **********************************
Stop
Include "font.inc"
Include "deneme.inc"
hatayı nerede alıyorsun ?
Hocam düşük frekanslarda (örnek : 100Hz de 5-10Hz sapma oluyor) frekans 10KHz de 100-500Hz arası sapma oluyor, yani frekans yükseldikçe iyice sapıyor. MHz kademesinde çalışmıyor. sonuc değişkenine dword yetmiyor
http://www.protonbasic.co.uk/showthread.php/67460-Using-AD9851-DDS-with-Proton. (http://www.protonbasic.co.uk/showthread.php/67460-Using-AD9851-DDS-with-Proton.)
buraya bakmıştım :-[
orada olay çözülmüş gibi duruyor ?
yok hocam halen araştırıyorum, uğraşıyorum
mikro sorun hesaplamada mı yoksa bu hesplama sonucunda çıkan değerein gönderilmesi vs mi ?
sorun hesaplamada
DDS_GONDER: ' AD9851 HESAPLAMA VERİ GÖNDERME
frek = SAYI
'sonuc = ( frek / 4294967296 ) * 180000000
sonuc = frek /coz
z[0] = (sonuc.0*128)+(sonuc.1*64)+(sonuc.2*32)+(sonuc.3*16)+(sonuc.4*8)+(sonuc.5*4)+(sonuc.6*2)+(sonuc.7*0)
z[1] = (sonuc.8*128)+(sonuc.9*64)+(sonuc.10*32)+(sonuc.11*16)+(sonuc.12*8)+(sonuc.13*4)+(sonuc.14*2)+(sonuc.15*0)
z[2] = (sonuc.16*128)+(sonuc.17*64)+(sonuc.18*32)+(sonuc.19*16)+(sonuc.20*8)+(sonuc.21*4)+(sonuc.22*2)+(sonuc.23*0)
z[3] = (sonuc.24*128)+(sonuc.25*64)+(sonuc.26*32)+(sonuc.27*16)+(sonuc.28*8)+(sonuc.29*4)+(sonuc.30*2)+(sonuc.31*0)
burada mı ?
eğer buradaysa sanki bir terslik var gibi. neden her byte ın en düşük değerlikli birini 128 le en yüksek değerlikli bitini 0 la çarpıyorsun (0 neden çarpıyorsun orayıda anlatırsan sevinirim.)
ad9851 bu şekilde seri gönderiyorum glcd' ye hex'i yazdırıyorum, gönderdiğim hexle buradaki http://designtools.analog.com/dt/dds/ad9851.html#troubleshooting (http://designtools.analog.com/dt/dds/ad9851.html#troubleshooting) hex kıyaslıyorum (biraz uzun yol) 32bit olayını çözemediğim için bu kod max 15mhz e kadar çalışıyor başka nasıl yapabilirim hocam
mesaj birleştirme:: 08 Ekim 2012, 23:25:54
bu arada benim ref. frekansım 30MHz çarpan 6 olması lazım yani frekans 180MHz ,bu program ref. 30MHz çarpan 1 = 30MHZ bununda yarısında bile normal çalışmıyor :'(
yarın burayı ayrıntılı incelerim http://www.protonbasic.co.uk/showthread.php/67460-Using-AD9851-DDS-with-Proton (http://www.protonbasic.co.uk/showthread.php/67460-Using-AD9851-DDS-with-Proton)
herkesten Allah razı olsun
s.a. arkadaşlar
ad9850 kiti geçti elime 1 haftadır henüz istediğim kontrol edemedim.
(http://www.picbasic.co.uk/forum/attachment.php?attachmentid=6851&d=1361614718)
bu konu ile ilgili çalışma yapmış arkadaşlar bilgi verebilirler mi?
konu ile ilgili dosya ekte
nerde hata yaptığımı bulamadım henüz
http://www.dosya.tc/server6/PnE1dZ/ad.rar.html (http://www.dosya.tc/server6/PnE1dZ/ad.rar.html)
s.a. arkadaşlar ya yokmu yardımcı olacak arkadaş, aşağıya eklediğim resimde frekansı belirleyen değerler isisde aynı (yada ben hatalı algılıyorum)
(http://img435.yukle.tc/images/1578dd.GIF)
konu ile ilgili bas dosyası ekte
Device 18F4520
Xtal 4
Config_Start
OSC = XT ; HS oscillator
FCMEN = OFF ; Fail-Safe Clock Monitor disabled
IESO = OFF ; Oscillator Switchover mode disabled
PWRT = OFF ; PWRT disabled
BOREN = OFF ; Brown-out Reset disabled in hardware and software
WDT = OFF ; WDT disabled (control is placed on the SWDTEN bit)
MCLRE = On ; MCLR pin enabled; RE3 input pin disabled
LPT1OSC = OFF ; Timer1 configured for higher power operation
PBADEN =OFF ; PORTB<4:0> pins are configured as digital I/O on Reset
' CCP2MX = PORTC ; CCP2 input/output is multiplexed with RC1
STVREN = OFF ; Stack full/underflow will not cause Reset
LVP = OFF ; Single-Supply ICSP disabled
XINST = OFF ; Instruction set extension and Indexed Addressing mode disabled (Legacy mode)
Debug = OFF ; Background debugger disabled, RB6 and RB7 configured as general purpose I/O pins
Config_End
Declare LCD_DTPort = PORTD
Declare LCD_RSPin = PORTC.6
Declare LCD_ENPin = PORTC.4
Declare LCD_RWPin = PORTC.5
Declare LCD_CS1Pin = PORTA.5
Declare LCD_CS2Pin = PORTA.3
Declare LCD_Type =GRAPHIC
Internal_Font =On
Font_Addr = 0
Declare GLCD_CS_Invert =0
Declare GLCD_STROBE_DELAY = 1000
Cls
DelayMS 100
TRISA =%00000000
TRISB =%01110000
TRISC =%00000000
TRISD =%00000000
TRISE =%00000000
PORTA =0
PORTB =0
PORTC =0
PORTD =0
PORTE =0
Declare All_Digital =1
PortB_Pullups =1
Reminders = OFF
'CMCON =7
'ADCON0 =%00000011
'ADCON1 =%00001111
'ADCON2 =%10000000
Symbol rOlE =PORTB.7
Symbol DaTa_pIn =PORTC.1
Symbol cLk_pIn =PORTC.3
Symbol fUd_pIn =PORTC.2
'Output cLk_pIn
'Output fUd_pIn
'Output DaTa_pIn
''Output YtY1
'Output YtY2
'Output YtY3
'Output YtY4
'Input DkY1
'Input DkY2
'Input DkY3
Output rOlE
Dim tUs As Byte
Dim sAyI As Dword
Dim TeMp As Byte
Dim SeC As Byte
Dim yAk As Byte
Symbol CaRpAn =34.359738368
Dim fR As Dword
Dim KhZ As Float
Dim MhZ As Float
Dim Z[4] As Word
Dim del As Word
Dim K As Word
Dim L As Word
Dim M As Word
Dim O As Word
Dim Y As Word
Dim G As Word
Dim AyA As Dword
Dim part1 As AyA.Byte0
Dim part2 As AyA.Byte1
Dim part3 As AyA.Byte2
Dim part4 As AyA.Byte3
Dim IlK As fR.Word0
Dim SoN As fR.Word1
Dim Aa As Byte
Dim Bb As Byte
Dim Cc As Byte
Dim Dd As Byte
Dim W As Byte
'dim W0 as w.bit
Dim TuN As fR.Word0
Dim sUn As fR.Word1
Dim KoD As Byte
Dim X As Byte
Dim YtY1 As PORTB.0
Dim YtY2 As PORTB.1
Dim YtY3 As PORTB.2
Dim YtY4 As PORTB.3
Dim DkY1 As PORTB.4
Dim DkY2 As PORTB.5
Dim DkY3 As PORTB.6
yAk =0
rOlE =0
SeC =0
YtY1 =0
YtY2 =0
YtY3 =0
DaTa_pIn =0
cLk_pIn =0
fUd_pIn =0
tUs=0
PORTC.0 =1
DelayMS 1000
PORTC.0 =0
mAIn:
'**************************** TUŞ TARAMA *******************************
YtY1 =0
If DkY1 =0 Then tUs = 1 : GoSub hEsApLa : While DkY1 ==0 : Wend
If DkY2 =0 Then tUs = 2 : GoSub hEsApLa : While DkY2 ==0 : Wend
If DkY3 =0 Then tUs = 3 : GoSub hEsApLa : While DkY3 ==0 : Wend
DelayMS 10
YtY1 =1
YtY2 =0
If DkY1 =0 Then tUs = 4 : GoSub hEsApLa : While DkY1 ==0 : Wend
If DkY2 =0 Then tUs = 5 : GoSub hEsApLa : While DkY2 ==0 : Wend
If DkY3 =0 Then tUs = 6 : GoSub hEsApLa : While DkY3 ==0 : Wend
DelayMS 10
YtY2 =1
YtY3 =0
If DkY1 =0 Then tUs = 7 : GoSub hEsApLa : While DkY1 ==0 : Wend
If DkY2 =0 Then tUs = 8 : GoSub hEsApLa : While DkY2 ==0 : Wend
If DkY3 =0 Then tUs = 9 : GoSub hEsApLa : While DkY3 ==0 : Wend
DelayMS 10
YtY3 =1
YtY4 =0
If DkY2 =0 Then tUs = 0 : GoSub hEsApLa : While DkY2 ==0 : Wend
If DkY1 =0 Then GoSub yIldIz :While DkY1 ==0 : Wend '* tuşu
If DkY3 =0 Then GoTo dIyEz :While DkY3 ==0 : Wend'# tuşu
DelayMS 10
YtY4 =1
Print At 2,1,# sAyI
Print At 3,1,Dec SeC," "
DelayMS 100
If yAk =0 Then rOlE =0
If yAk =1 Then rOlE =1
GoTo mAIn
dIyEz:
PORTC.0 =1
DelayMS 100
'GoSub DDS_GONDER
yAk =0
sAyI = 0 : TeMp = 0 :SeC =0
PORTC.0 =0
Cls
Return
yIldIz:
If SeC <=3 Then
Print At 4,1,Dec sAyI
Print At 4,10,"HERTZ "
EndIf
If SeC >3 And SeC <=6 Then
KhZ =sAyI /1000
Print At 4,1,Dec KhZ
Print At 4,10,"KILOHERTZ"
EndIf
If SeC >6 Then
If sAyI >=10000000 Then sAyI =10000000
MhZ =sAyI /1000000
Print At 4,1,Dec MhZ
Print At 4,10,"MEGAHERTZ"
EndIf
fR = sAyI *CaRpAn
AyA =fR Rev 32
Print At 0,1,Hex AyA
Print At 0,10, Dec AyA
Print At 1,10,Dec fR
Print At 1,1,Hex fR
Print At 5,1,Hex part1
Print At 5,10,Hex part2
Print At 6,1,Hex part3
Print At 6,10,Hex part4
W =0
Print At 6,15,Hex W
DelayMS 1000
fUd_pIn =1
DelayMS 1
fUd_pIn =0
SHOut DaTa_pIn, cLk_pIn, 0,[part1, part2, part3, part4, $00]
fUd_pIn =1
DelayMS 1
fUd_pIn =0
'sAyI = 0 : TeMp = 0
yAk =1
GoTo mAIn
bYteOuT:
'DelayuS 30
DaTa_pIn =GetBit W,0
DelayUS 20
High cLk_pIn
DelayUS 50
Low cLk_pIn
DelayUS 20
Low DaTa_pIn; CLOCK OUT BIT0
DelayUS 10
DelayUS 30
DaTa_pIn =GetBit W,1
DelayUS 20
High cLk_pIn
DelayUS 50
Low cLk_pIn
DelayUS 20
Low DaTa_pIn; CLOCK OUT BIT0
DelayUS 30
DaTa_pIn =GetBit W,3
DelayUS 20
High cLk_pIn
DelayUS 50
Low cLk_pIn
DelayUS 20
Low DaTa_pIn; CLOCK OUT BIT0
DelayUS 30
DaTa_pIn =GetBit W,4
DelayUS 20
High cLk_pIn
DelayUS 50
Low cLk_pIn
DelayUS 20
Low DaTa_pIn; CLOCK OUT BIT0
DelayUS 30
DaTa_pIn =GetBit W,5
DelayUS 20
High cLk_pIn
DelayUS 50
Low cLk_pIn
DelayUS 20
Low DaTa_pIn; CLOCK OUT BIT0
DelayUS 30
DaTa_pIn =GetBit W,6
DelayUS 20
High cLk_pIn
DelayUS 50
Low cLk_pIn
DelayUS 20
Low DaTa_pIn; CLOCK OUT BIT0
DelayUS 30
DaTa_pIn =GetBit W,7
DelayUS 20
High cLk_pIn
DelayUS 50
Low cLk_pIn
DelayUS 20
Low DaTa_pIn; CLOCK OUT BIT0
''DelayuS 30
Return
hEsApLa:
If SeC <8 Then
Inc SeC
TeMp=tUs
sAyI = (sAyI * 10) + TeMp
TeMp=0
If SeC >8 Then SeC =0
EndIf
Return
End ' ************************* PROGRAM SONU **********************************
Stop
Include "FONT.INC"
s.a.
arkadaşlar bu konu hakkında kimsenin bir fikri yokmu?