我想通过串口发送数据,然后把数据存储到一个数组里,并且把这些数据存到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; //画笔颜 {MOD}:红 {MOD}
while(1)
{
if(USART_RX_STA&0x8000)
{
len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
LCD_Clear(WHITE); //填充白底颜 {MOD}
POINT_COLOR=BLACK; //字体颜 {MOD}
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; //画笔颜 {MOD}:红 {MOD}
while(1)
{
if(USART_RX_STA&0x8000)
{
len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
LCD_Clear(WHITE); //填充白底颜 {MOD}
POINT_COLOR=BLACK; //字体颜 {MOD}
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,底层也都是用的历程
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------哪位大神,快来,求助啊
一周热门 更多>