将int16转换为字节数组
Convert int16 to byte array
我对C很陌生,所以有点困惑。
我正在尝试将int16转换为byte[]数组。
我有一个像-200这样的int16,我想把它转换成一个byte[2]数组,就像下面的例子一样。
Velocity = -200 = hex FF38 = [hex FF] [hex 38] = [255] [56]
我正在获取值并将它们传递给串行端口,如下所示,但我需要传递int16,并有一个函数将其转换为字节[]。
Serial.print(255,BYTE);
Serial.print(56,BYTE);
我找到了下面的代码,但无法让它工作
Serial.print((velocity & 0xff00) >> 8, BYTE);
Serial.print(velocity & 0xff, BYTE);
有什么建议吗? ?
您的方法看起来不错,但也许您正在被端序问题绊倒?
串行协议也可以在位和/或字节级别上被视为小端或大端(可能不同)。许多串行接口,如无处不在的USB,在位级别上是小端的。物理标准,如RS-232, RS-422和RS-485通常也与uart一起使用,首先发送最低有效位…
您的代码首先发送最重要的字节("大端字节")。
相关文章:
- 如何使用Crypto++并为RSA返回可打印的字节/字符数组
- 如何在C++中将整数转换为其数字数组
- 如何将带有不定条目的行读取到数字数组中?
- 对于非常大的输入,缺少和重复 1..n 的数字数组.使用1..n系列特性的解决方案.溢出问题
- 有没有一种方法可以接受数字数组而不接受垃圾值的输入
- 从数字数组中删除重复
- 如何打印给定i和j的数字数组,使得i的所有元素的总和等于j
- 将数字与数字数组进行比较
- 将数字数组保存到Spesific文件中,然后稍后调用
- 从排序的数字数组中返回数字范围的最快方法是什么?
- 如何通过libpq c api插入字节的数组
- 无法让我的代码正确排序用户输入的数字数组(使用递归)
- i2c中的字节指针数组
- 以 C++ 为单位递增 16 字节字符数组
- new[] 一个包含构造函数的字节对象数组没有错,对吧?
- 创建未知长度的字节/字符数组
- 我如何将bitset转换为字节/uint8数组
- C++ <--> C# 修改字节编组数组
- 将m个字节的数组拆分为n个字节的块
- c++到c#:有3个元素的字节指针数组等于什么?