新手上路
- 积分
- 26
- 金钱
- 26
- 注册时间
- 2017-6-28
- 在线时间
- 3 小时
|
之前做了一个spi接收数据,部分代码如下:SPI_I2S_SendData(SPI2,0x2F);while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET);gain4 = SPI_I2S_ReceiveData(SPI2);while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET);
gain5 = SPI_I2S_ReceiveData(SPI2);//while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET);
SPI_I2S_SendData(SPI2,0x2F);while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET);
gain7 = SPI_I2S_ReceiveData(SPI2);while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET);
gain8 = SPI_I2S_ReceiveData(SPI2);//while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET);
if(times1%2==0)
printf("%d\r\n",(gain8+16*16*16*16*gain4+16*16*gain5));
上面代码就是每隔2毫秒接受一个反馈的数。
现如今想利用数组,意思就是,想累计先接受5040个数,然后在存到数组,再对数组进行数据处理。如下代码:
if(times1%2==0)
{
if(jishu<5040)
{
redraw[jishu] =(gain8+16*16*16*16*gain4+16*16*gain5);
}
if(jishu>=5040)
for(j=0;j<5040;j++)
{
printf("%f\r\n",redraw[j]);
}
就是想先收集5040个数在保存打印,但是发现这样子打印出来的5040个数,会有连续8个数相同的情况,而之前一个个打印是不会出现这种情况的。想问下各位大神,有什么好的解决方法没。。。小白在此谢谢了!
|
|