我有一些代码要从 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
最佳答案
如果 BASIC 中的条件和 for 循环在 C 中有直接替代。
子程序可以用不带参数的函数代替。
Case 语句类似于
switch case
C 中的语句。DelayMS
好像是一个系统子程序。您将需要在 C 中编写自定义函数或查找延迟的库函数。关于变量,有两种方式。
5a。使用 int
对于 Bytes
和 Words
.这对于初学者和您的程序来说已经足够了。
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/