gpt4 book ai didi

c++ - 将变量放入字符串(arduino)

转载 作者:行者123 更新时间:2023-11-28 05:47:21 28 4
gpt4 key购买 nike

我想为我的 arduino 项目编写一个函数,但我遇到了一些问题。

char telephone_number = 111232113;
Serial.println("AT+CMGS=\"telephone_number\"\r");

控制台正在向我显示 AT+CMGS="telephone_number" 但我希望显示 AT+CMGS="111232113" 而不是这个。

这种形式甚至可能吗?我是编程新手,我不知道如何管理它。

最佳答案

不要使用 String。很容易使用,但你最终会后悔的。 :-( 它们更慢,使用更多 RAM,并增加 1.6k 到您的程序大小。只需坚持使用普通的旧 C 字符串,也称为 char 数组。

您可以将打印语句分为三个部分:

char telephone_number[] = "111232113";
Serial.print( "AT+CMGS=\"" );
Serial.print( telephone_number );
Serial.println( "\"\r" );

通过在双引号字符串的打印周围使用 F 宏,您可以节省更多的 RAM 空间:

char telephone_number[] = "111232113";
Serial.print( F("AT+CMGS=\"") ); // Saves 10 bytes of RAM
Serial.print( telephone_number );
Serial.println( F("\"\r") ); // Saves 3 bytes of RAM

任何地方你打印像这样的双引号字符串,只需用 F 宏包裹它。

顺便说一句,我假设电话号码不是常量,因此您需要将其保存在 RAM 中,如此处所示的 char 数组。

关于c++ - 将变量放入字符串(arduino),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35964225/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com