c - 如何将 BASIC 转换为 C?有没有我可以比较 BASIC 和 C 的等效网站?

标签 c pic basic converters

我有一些代码要从 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

最佳答案

  1. 如果 BASIC 中的条件和 for 循环在 C 中有直接替代。

  2. 子程序可以用不带参数的函数代替。

  3. Case 语句类似于 switch case C 中的语句。

  4. DelayMS好像是一个系统子程序。您将需要在 C 中编写自定义函数或查找延迟的库函数。

  5. 关于变量,有两种方式。

5a。使用 int对于 BytesWords .这对于初学者和您的程序来说已经足够了。

5b。随着您获得更多知识,您可以查看 uint8_t uint16_t uint32_t对于 8 位、16 位和 32 位无符号整数,以及 sint8_t sint16_t sint32_t对于有符号整数。你需要 #include <inttypes.h>对于以上内容。

关于c - 如何将 BASIC 转换为 C?有没有我可以比较 BASIC 和 C 的等效网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52986443/

相关文章:

c - 微 Controller PIC16F877A c编码,同时控制占用传感器和光电二极管

c - 从 5v 到 3.3v 的电压电平转换

c - 我无法让 LED 闪烁 6 次,然后终止 C 中的程序

programming-languages - 为什么BASIC有行号?

algorithm - 无逻辑/按位运算的校验和

c++ - X11 : How to Render Continuously

c - 打印时在 C 中分隔值的最佳/常见做法

c++ - POD 和模板

c++ - 给定纬度/经度对 vector ,我如何创建一个 vector ,使点之间的距离小于或等于某个常数?

basic - 如何在 6502 basic 中等待 x 秒