protonda hex oluşturamama sorunu

Başlatan ismo, 12 Nisan 2020, 22:05:03

ismo


ben çok acemiyim elimdeki c ile yazılmış dosyayı bas dosyasına çevirip protonda hex çıkışı almak istediğimde şöyle bir hata veriyor:
error:[line 28] item threshold not found!(untitled.bas)
error:[line 29] item sensitivity not found!(untitled.bas)
.....
....
....
error:[line 49] item target not found!(untitled.bas)


kod şu şekilde: lütfen koddaki yalnış yeri gösterebilirmisiniz

'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2020 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 12.04.2020                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
Device = 16F876A
Xtal = 4
Config XT_OSC,WDT_OFF,PWRTE_ON,BODEN_OFF,CP_OFF,CPD_OFF,LVP_OFF

Define LCD_Type = 0       
Define   LCD_DTPin      PORTC.4
Define   LCD_RSPin      PORTC.0
Define   LCD_ENPin      PORTC.3
Define LCD_Lines      2
Define LCD_Interface   4

Define Adin_Res 10       ' 10-bit result required
Define Adin_Tad 32_FOSC  ' AD conversion clock
Define Adin_Stime 20     ' 20us AD sample time

CCP1_Pin = PORTC.2

threshold As Byte
sensitivity As Byte
duty As Byte

sample1 As Word
sample2 As Word
sample3 As Word
sample4 As Word
gb1 As Word
gb2 As Word
gb3 As Word
gb4 As Word
s1 As Word
s2 As Word
s3 As Word
s4 As Word

temp1 As Float
temp2 As Float
temp3 As Float
battery_voltage As Float
target As Word
size As Word

i As Byte

    PORTB_Pullups = On
    ADCON1 = $84
    TRISA = $0B
    TRISB = $FF
    TRISC = $00
    DelayUS 500
    Clear          'Clear variables
   Print $FE, 1   'Clear display
   duty = 10
   threshold = 2
    DelayUS 500
    Print $FE, 1,   "**  BRN Pi-1  **"
   Print $FE, $C0, "Digital Detector"
   DelayMS 2000

    Print $FE, 1,   "Made in  TURKEY"
   Print $FE, $C0, " ** Baron66 ** "
   DelayMS 2000
   
   Print $FE, 1
   
   While 1 = 1
        TRISA.5 = 0
        PORTA.5 = 1
        DelayUS 200
        TRISA.5 = 0
        PORTA.5 = 0
        DelayUS 10
        
        sample1 = ADIn 0 
        DelayUS 790
   
        TRISA.5 = 0
        PORTA.5 = 1
        DelayUS 200
        TRISA.5 = 0
        PORTA.5 = 0
        DelayUS 50
       
        sample2 = ADIn 0 
        DelayUS 750
       
        TRISA.5 = 0
        PORTA.5 = 1
        DelayUS 200
        TRISA.5 = 0
        PORTA.5 = 0
        DelayUS 90
       
        sample3 = ADIn 0 
        DelayUS 710
   
        TRISA.5 = 0
        PORTA.5 = 1
        DelayUS 200
        TRISA.5 = 0
        PORTA.5 = 0
        DelayUS 150
       
        sample4 = ADIn 0 
        DelayUS 650
       
        temp1 = ADIn 1
        temp2 = temp1 * 0.0048
        temp3 = temp2 * 110       
        battery_voltage = temp3 / 10 + 0.3

        'Ground       
        If PORTB.0 = 0 Then GoSub GroundBalance
         
        'Sound+
        If PORTB.2 = 0 Then
            duty = duty + 10
            If duty > 100 Then duty = 100
            GoSub Beep
        End If
       
        'Sound-
        If PORTB.1 = 0 Then     
            duty = duty - 10
            If duty < 0 Then duty = 0
            GoSub Beep
        End If
       
        'Sens-
        If PORTB.3 = 0 Then     
            GoSub Beep
            threshold = threshold + 10
            If threshold > 100 Then threshold = 100
        End If

        'Sens+
        If PORTB.4 = 0 Then     
            GoSub Beep
            threshold = threshold - 10
            If threshold < 0 Then threshold = 0
        End If

        sensitivity = (100 - threshold) / 10

        GoSub Calculate

        Print $FE, $80, "V:", Dec duty / 10, " "
        Print $FE, $84, "S:", Dec sensitivity, " "
        If 10.3 < battery_voltage Then
            Print $FE, $88, "B:", Dec2 battery_voltage, "V "
        Else
            Print $FE, $88, "B:LOW   "
        End If
       
        If target  > threshold Then
            HPWM 1,duty,1260   'Sound On
            size = target / 10       
            If size > 15 Then size = 15
             For i = 0 To size
                Print $FE, $C0 + i, ".>---------------"
             Next           
        Else
            Print $FE, $C0, "--------------"
            HPWM 1,0,0         'Sound Off
        End If
   Wend
   
GroundBalance:
   gb1 = sample1 + 2
   gb2 = sample2 + 2
   gb3 = sample3 + 2
   gb4 = sample4 + 2
   DelayMS 150
   Return

Calculate:
   s1 = sample1 - gb1
   s2 = sample2 - gb2
   s3 = sample3 - gb3
   s4 = sample4 - gb4
   If s1 < 0 Then s1 = 0
   If s2 < 0 Then s2 = 0
   If s3 < 0 Then s3 = 0
   If s4 < 0 Then s4 = 0   
   target = s4 + s1 + s2 + s3
   Return

Beep:
    HPWM 1,duty,1260         
   DelayMS 150
    HPWM 1,0,0         
   Return

fofo

'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2020 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 12.04.2020                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
Device = 16F876A
Xtal = 4
Config XT_OSC,WDT_OFF,PWRTE_ON,BODEN_OFF,CP_OFF,CPD_OFF,LVP_OFF


Declare LCD_DTPin = PORTC.4        ' Point LCD Data lines to PORTD.4, PORTD.5, PORTD.6, and PORTD.7
Declare LCD_RSPin = PORTC.0         ' Point LCD RS line to PORTE.0
Declare LCD_ENPin = PORTC.3         ' Point LCD EN line to PORTE.0
Declare LCD_Interface = 4 


Declare Adin_Res 10       ' 10-bit result required
Declare  Adin_Tad 32_FOSC  ' AD conversion clock
Declare Adin_Stime 20     ' 20us AD sample time

Declare CCP1_Pin = PORTC.2
 Declare   PORTB_Pullups = On
Dim threshold As Byte
Dim sensitivity As Byte
Dim duty As Byte

Dim sample1 As Word
Dim sample2 As Word
Dim sample3 As Word
Dim sample4 As Word
Dim gb1 As Word
Dim gb2 As Word
Dim gb3 As Word
Dim gb4 As Word
Dim s1 As Word
Dim s2 As Word
Dim s3 As Word
Dim s4 As Word

Dim temp1 As Float
Dim temp2 As Float
Dim temp3 As Float
Dim battery_voltage As Float
Dim target As Word
Dim size As Word

Dim i As Byte

ADCON1 = $84
TRISA = $0B
TRISB = $FF
TRISC = $00
      
    
    DelayUS 500
    Clear          'Clear variables
   Print $FE, 1   'Clear display
   duty = 10
   threshold = 2
    DelayUS 500
    Print $FE, 1,   "**  BRN Pi-1  **"
   Print $FE, $C0, "Digital Detector"
   DelayMS 2000

    Print $FE, 1,   "Made in  TURKEY"
   Print $FE, $C0, " ** Baron66 ** "
   DelayMS 2000
   
   Print $FE, 1
   
   While 1 = 1
        TRISA.5 = 0
        PORTA.5 = 1
        DelayUS 200
        TRISA.5 = 0
        PORTA.5 = 0
        DelayUS 10
        
        sample1 = ADIn 0 
        DelayUS 790
   
        TRISA.5 = 0
        PORTA.5 = 1
        DelayUS 200
        TRISA.5 = 0
        PORTA.5 = 0
        DelayUS 50
       
        sample2 = ADIn 0 
        DelayUS 750
       
        TRISA.5 = 0
        PORTA.5 = 1
        DelayUS 200
        TRISA.5 = 0
        PORTA.5 = 0
        DelayUS 90
       
        sample3 = ADIn 0 
        DelayUS 710
   
        TRISA.5 = 0
        PORTA.5 = 1
        DelayUS 200
        TRISA.5 = 0
        PORTA.5 = 0
        DelayUS 150
       
        sample4 = ADIn 0 
        DelayUS 650
       
        temp1 = ADIn 1
        temp2 = temp1 * 0.0048
        temp3 = temp2 * 110       
        battery_voltage = temp3 / 10 + 0.3

        'Ground       
        If PORTB.0 = 0 Then GoSub GroundBalance
         
        'Sound+
        If PORTB.2 = 0 Then
            duty = duty + 10
            If duty > 100 Then duty = 100
            GoSub Beep
        End If
       
        'Sound-
        If PORTB.1 = 0 Then     
            duty = duty - 10
            If duty < 0 Then duty = 0
            GoSub Beep
        End If
       
        'Sens-
        If PORTB.3 = 0 Then     
            GoSub Beep
            threshold = threshold + 10
            If threshold > 100 Then threshold = 100
        End If

        'Sens+
        If PORTB.4 = 0 Then     
            GoSub Beep
            threshold = threshold - 10
            If threshold < 0 Then threshold = 0
        End If

        sensitivity = (100 - threshold) / 10

        GoSub Calculate

        Print $FE, $80, "V:", Dec duty / 10, " "
        Print $FE, $84, "S:", Dec sensitivity, " "
        If 10.3 < battery_voltage Then
            Print $FE, $88, "B:", Dec2 battery_voltage, "V "
        Else
            Print $FE, $88, "B:LOW   "
        End If
       
        If target  > threshold Then
            HPWM 1,duty,1260   'Sound On
            size = target / 10       
            If size > 15 Then size = 15
             For i = 0 To size
                Print $FE, $C0 + i, ".>---------------"
             Next           
        Else
            Print $FE, $C0, "--------------"
            HPWM 1,0,0         'Sound Off
        End If
   Wend
   
GroundBalance:
   gb1 = sample1 + 2
   gb2 = sample2 + 2
   gb3 = sample3 + 2
   gb4 = sample4 + 2
   DelayMS 150
   Return

Calculate:
   s1 = sample1 - gb1
   s2 = sample2 - gb2
   s3 = sample3 - gb3
   s4 = sample4 - gb4
   If s1 < 0 Then s1 = 0
   If s2 < 0 Then s2 = 0
   If s3 < 0 Then s3 = 0
   If s4 < 0 Then s4 = 0   
   target = s4 + s1 + s2 + s3
   Return

Beep:
    HPWM 1,duty,1260         
   DelayMS 150
    HPWM 1,0,0         
   Return

Bu şekilde derleme yapabilirsiniz.

ismo


Powered by EzPortal