金牌会员
 
- 积分
- 1826
- 金钱
- 1826
- 注册时间
- 2015-12-18
- 在线时间
- 209 小时
|
1金钱
stm32flash 试验,串口接收到16进制的数据,存到数组里,为什么会变成数组的地址。我要接收的数据是65 00 07 00 ff ff ff
u8 TEXT_Buffer[7];
#define FLASH_SAVE_ADDR 0X08011000 //设置FLASH 保存地址(必须为偶数,且其值要大于本代码所占用FLASH的大小+0X08000000)
u8 datatemp[7];
u8 res,comm_len,endflag;;
u8 uart_dat[7];
u8 uart_num;
int main(void)
{
My_USART2_Init(); //串口初始化
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
while(1)
{
STMFLASH_Read(FLASH_SAVE_ADDR,(u16*)datatemp,9);
}
}
void USART2_IRQHandler(void) //中断函数
{
if(USART_GetITStatus(USART2,USART_IT_RXNE))
{
res=USART_ReceiveData(USART2);
TEXT_Buffer[uart_num]=res;
uart_num++;
if(res==0xff)
{
endflag++;
if(endflag == 3)
{
STMFLASH_Write(FLASH_SAVE_ADDR,(u16*)TEXT_Buffer,7);
}
}
else
{
endflag = 0;
}
}
}
|
|