有没有办法将数组转换为整数,我有以下方法,但它似乎不起作用:
int8_t x_array[18] = {0,1,1,0,1,0,1,0,1,0,1,0,0,0,0,0,1,1};
int32_t numb;
for (int8_t j=0;j<19;j++)
{
numb = numb + pow(2, i)*x_array[i];
}
是否有一个原因??
PS:这是我发布的上一个问题的后续问题 Joining outputs from switch 我已经编辑了这个问题,说明为什么建议的方法不起作用。
本质上,我想做的是在 RAPIDILITTE(一个模拟器软件)中创建一个程序,以每毫秒对 PS 输入(接近传感器系统)进行采样,这是 18 位数字输入。输入由位于端口 2 上的拨动开关 0-17(18 位)表示。输入需要在 0-9999 之间进行归一化)
主要问题是(我在之前发布的问题中提到过)我一次只能访问一个引脚,而不是一次读取整个端口。我尝试了很多方法来读取引脚并将它们组合成一个变量,将其转换为自然数,然后对输入进行规范化。最后,我认为最好的方法是将读取的每个引脚放入 a 中array[18]
,然后将其转换为变量,然后对其进行规范化。