首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将QBasic CHR$(13)+CHR$(10)转换为C#

将QBasic CHR$(13)+CHR$(10)转换为C#
EN

Stack Overflow用户
提问于 2014-03-19 23:51:30
回答 2查看 16.9K关注 0票数 5

我正在尝试通过我的串行端口传递一个直接的ASCII文本命令,如下所示:

代码语言:javascript
复制
string cmd = "<ID00><PA>Hello World. ";
template.Serial.WriteLine(cmd);

Serial是一个SerialPort属性引用。我也尝试过“Write(Cmd)”,但即使串行端口是打开的,该命令似乎也无法执行。我发现我应该在消息的末尾添加一个回车符(cr)和一个换行符(lf),但我不知道如何在C#中做到这一点,除非将所有内容转换为字节,但根据我对协议的理解,它需要作为ASCII码文本传递。

我找到了某人的QBasic源码,看起来是这样的:

代码语言:javascript
复制
100 OPEN "COM1:9600,N,8,1,CS,DS,CD" AS 1
200 PRINT #1,"<ID00>";:REM SIGN ADDRESS, 00 FOR ALL
210 PRINT #1,"<PA>";:REM PAGE "A" (MESSAGE NUMBER, A-Z)
220 PRINT #1,"<FQ>";:REM OPTIONAL DISPLAY MODE, (FA-FZ), "APPEAR"
230 PRINT #1,"<CB>";:REM OPTIONAL COLOR CHANGE, (CA-CZ), "RED"
240 PRINT #1,"Hello World";:REM TEXT
250 PRINT #1, CHR$(13)+CHR$(10);:REM MUST END IN CARRIAGE RETURN/LINE FEED

那么,如何将CHR$(13)+CHR$(10)转换为字符,并将这些字符附加到c#代码中通过串口发送的字符串行的末尾呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-20 00:21:11

从字面上看,CHR$(13)+CHR$(10)((char)13) + ((char)10),尽管为了便于阅读,最好使用字符串"\r\n"

票数 13
EN

Stack Overflow用户

发布于 2014-03-20 00:11:39

System.Environment.NewLine追加到字符串中。这相当于Windows系统上的"\r\n“(但在Unix系统上不起作用)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22511294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档