中级会员
 
- 积分
- 360
- 金钱
- 360
- 注册时间
- 2015-4-24
- 在线时间
- 37 小时
|
5金钱
我想通过串口发送数据,然后把数据存储到一个数组里,并且把这些数据存到FLASH,模拟的e2prom中,不顾总是出先问题,这个串口接收寄存器中的数据怎么存储到自己定义的数组中的呢?我的程序错误提示如下
int main(void)
{
u8 x = 0;
u8 len;
u8 datatemp[SIZE]; //定义一个数组用来存放要显示的数据
// u8 lcd_id[12]; //存放LCD ID字符串
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
delay_init(168); //初始化延时函数
uart_init(115200); //初始化串口波特率为115200
LED_Init(); //初始化LED
LCD_Init(); //初始化LCD FSMC接口
POINT_COLOR=BLUE; //画笔颜色:红色
while(1)
{
if(USART_RX_STA&0x8000)
{
len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
LCD_Clear(WHITE); //填充白底颜色
POINT_COLOR=BLACK; //字体颜色
TEXT_Buffer[x] = USART_RX_BUF;
LCD_ShowString(x,40,210,24,24,USART_RX_BUF);
x++;
USART_RX_STA = 0;
}
STMFLASH_Write(FLASH_SAVE_ADDR,(u32*)TEXT_Buffer,SIZE);
STMFLASH_Read(FLASH_SAVE_ADDR,(u32*)datatemp,SIZE);
LCD_ShowString(30,190,200,16,16,datatemp);//显示读到的字符串
LED0=!LED0;
delay_ms(1000);
}
}
int main(void)
{
u8 x = 0;
u8 len;
u8 datatemp[SIZE]; //定义一个数组用来存放要显示的数据
// u8 lcd_id[12]; //存放LCD ID字符串
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
delay_init(168); //初始化延时函数
uart_init(115200); //初始化串口波特率为115200
LED_Init(); //初始化LED
LCD_Init(); //初始化LCD FSMC接口
POINT_COLOR=BLUE; //画笔颜色:红色
while(1)
{
if(USART_RX_STA&0x8000)
{
len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
LCD_Clear(WHITE); //填充白底颜色
POINT_COLOR=BLACK; //字体颜色
TEXT_Buffer[x] = USART_RX_BUF;
LCD_ShowString(x,40,210,24,24,USART_RX_BUF);
x++;
USART_RX_STA = 0;
}
STMFLASH_Write(FLASH_SAVE_ADDR,(u32*)TEXT_Buffer,SIZE);
STMFLASH_Read(FLASH_SAVE_ADDR,(u32*)datatemp,SIZE);
LCD_ShowString(30,190,200,16,16,datatemp);//显示读到的字符串
LED0=!LED0;
delay_ms(1000);
}
}
main.c(44): error: #137: expression must be a modifiable lvalue 这是错误提示
该怎么改 ?我的板子是407,底层也都是用的历程
|
|