使用STM32F103RBT6作为数据采集的控制芯片,如何定义数组来存放数据?

2019-03-23 18:22发布

使用stm32f103rbt6作为数据采集的控制芯片,Flash为128k,内存20k。现需要定义一个数组dat[4096]来存放采集到的数据,数据的总大小为4k,我在程序定义了这个数组,貌似没有任何作用,不知这个数组该如何定义?最终定义的数组会被存放到哪里?求指导  谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
ljj3166
1楼-- · 2019-03-24 15:36
 精彩回答 2  元偷偷看……
心的方向001
2楼-- · 2019-03-24 18:19
ljj3166 发表于 2015-12-24 12:33
一个page有256个字节
一个sector有16个page
一个block有256个page
w25系列应该都是这样吧

是这样的!
/* 发送缓冲区初始化 */
uint8_t Tx_Buffer[] = " 欢迎使用STM32产品";
uint8_t Rx_Buffer[BufferSize];
__IO uint32_t DeviceID = 0;
__IO uint32_t FlashID = 0;
__IO TestStatus TransferStatus1 = FAILED;

// 函数原型声明
void Delay(__IO uint32_t nCount);
TestStatus Buffercmp(uint8_t* pBuffer1, uint8_t* pBuffer2, uint16_t BufferLength);

/*
* 函数名:main
* 描述  :主函数
* 输入  :无
* 输出  :无
*/
int main(void)
{        
    SystemInit();
    SPI_Configuration();
    delay_init(72);       
        /* 配置串口1为:115200 8-N-1 */
        uart_init();

       
        /* 2M串行flash W25X16初始化 */
        SPI_FLASH_Init();

//        TEST();
       
        /* Get SPI Flash Device ID */
        DeviceID = SPI_FLASH_ReadDeviceID();
       
        Delay( 200 );
       
        /* Get SPI Flash ID */
        FlashID = SPI_FLASH_ReadID();
       
       
        /* Check the SPI Flash ID */
        if (FlashID == 0xEF4018)  /* #define  sFLASH_ID  0xEF4018 */
        {       
               
                /* Erase SPI FLASH Sector to write on */
                SPI_FLASH_SectorErase(FLASH_SectorToErase);                  
               
                /* 将发送缓冲区的数据写到flash中 */
                SPI_FLASH_BufferWrite(Tx_Buffer, FLASH_WriteAddress, BufferSize);
                printf(" 写入的数据为:%s ", Tx_Buffer);
               
                /* 将刚刚写入的数据读出来放到接收缓冲区中 */
                SPI_FLASH_BufferRead(Rx_Buffer, FLASH_ReadAddress, BufferSize);
                printf(" 读出的数据为:%s ", Tx_Buffer);
//               
                /* 检查写入的数据与读出的数据是否相等 */

        }
       
       
       
       
       
        SPI_Flash_PowerDown();  
        while(1);  
}
现在Tx_Buffer[]数组中存入的是字符串,而我需要的是将dat[4096]里的数据存入,dat[4096]里是光电探测器模块采集到采样值,每一个数组里存放一个字节,共占4096字节。不知如何将Tx_Buffer[]和dat[4096]关联起来!?谢谢

一周热门 更多>