Как я могу конвертировать бейсик в C?Есть ли аналогичный веб-сайт, где я могу сравнить BASIC и C? - PullRequest
0 голосов
/ 25 октября 2018

У меня есть некоторый код, который я пытаюсь преобразовать из BASIC в язык C.

Как бы я преобразовал следующее в C?

Если бы кто-нибудь мог помочь мне начать, я бы очень хотелценить это.Это для небольшого проекта, который я сейчас делаю для себя.Я пытаюсь включить SPI, CRC и некоторые другие вещи.

Symbol USB_CHOOSE = PORTD.1

Declare RsOut_Pin PORTD.2
Declare Serial_Baud 38400 
Declare RsOut_Mode True

Dim I As Word
Dim J As Word
Dim IND As Byte
Dim btemp As Byte
Dim SPI_BYTE_OUT As Byte
Dim SPI_BYTE_IN As Byte

 For I = 0 To 99
            CURKEY[I] = 0
            OLDKEY[I] = 0
            APPUI[I] = 0
       Next

        init:       'initialisation first_scan et eco_tap
        FIRST_SCAN_QTA = 0
        FIRST_SCAN_QTB = 0
        COMPTEUR_TAP = 0
        MEM_TAP = 0

        'test init
        'init QTA
        RsOut "*** RESET QTA",13
        Low QTA_RST
        DelayMS 100
        High QTA_RST
        For I = 1 To 25             'attente après reset
            GoSub watch
            DelayMS 100
        Next
        GoSub comm_QTA
        GoSub read_crc_eeprom_QTA
        If INIT_ERROR_COUNTER > 0 Then
            '***
            'DelayMS 200
            GoSub write_setup_QTA     
        EndIf
        GoSub read_setup_eeprom_QTA          
        GoSub cal_all_QTA                    
        GoSub chech_cal_QTA                  


         main:          GoSub watch

           High PORTA.3:DelayUS 30:Low PORTA.3

            Case 6 ' t T
                    GoSub gesture_simple
                    If GESTURE = 1 Then
                        BUFFER[1 + NB_TOUCH] = $17
                    EndIf
                    If GESTURE = 5 Then
                        T_REL = $17
                    EndIf
                    GoSub sendcode

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

Может быть, вы хотели бы попробовать BaCon.Это бесплатный конвертер Basic в C. Бэкон

0 голосов
/ 25 октября 2018
  1. Если условия и циклы в BASIC имеют прямую замену в C.

  2. Подпрограммы могут быть заменены функциями без параметров.

  3. Оператор case аналогичен оператору switch case в C.

  4. DelayMS представляется системной подпрограммой.Вам нужно написать пользовательскую функцию на C или найти библиотечную функцию для задержки.

  5. Что касается переменных, вы можете пойти двумя путями.

5a.Используйте int для Bytes и Words.Этого достаточно для начинающих и для вашей программы.

5b.По мере получения дополнительных знаний вы можете посмотреть uint8_t uint16_t uint32_t для 8-битных, 16-битных и 32-битных целых чисел без знака и sint8_t sint16_t sint32_t для целых чисел со знаком.Вам нужно #include <inttypes.h> для вышеперечисленного.

...