gpt4 book ai didi

integer - 在 Arduino 中串行发送一个整数

转载 作者:行者123 更新时间:2023-12-04 16:47:49 25 4
gpt4 key购买 nike

我需要使用串行通信向 Arduino 发送一个整数,比如 0-10000 之间。这样做的最佳方法是什么?

我可以考虑将数字分解为字符数组(例如:500 为 '5','0','0')并将它们作为字节流发送(是的,这很丑陋)。然后在另一端重建。 (任何东西都作为字节流串行发送,对吗?)

没有更好的办法吗?不知何故,它应该能够将值分配给 int类型变量。

(如果可能的话,真的需要对字符串也有同样的了解)

最佳答案

如果您要寻找的是速度,那么您可以将数字分成两个字节,而不是发送 ASCII 编码的 int,这是一个示例:

uint16_t number = 5703;               // 0001 0110 0100 0111
uint16_t mask = B11111111; // 0000 0000 1111 1111
uint8_t first_half = number >> 8; // >>>> >>>> 0001 0110
uint8_t sencond_half = number & mask; // ____ ____ 0100 0111

Serial.write(first_half);
Serial.write(sencond_half);

关于integer - 在 Arduino 中串行发送一个整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13875425/

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