金牌会员
 
- 积分
- 1826
- 金钱
- 1826
- 注册时间
- 2015-12-18
- 在线时间
- 209 小时
|
1金钱
stm32 flash试验,单片机断电断电的时候会发送一串乱码。我把flash试验移植到c8t6上,一开始还好好的,在单片机断电时会发送一串乱码。请问怎么解决。
const u8 TEXT_Buffer[]={"STM32F103 FLASH TEST"};
#define SIZE sizeof(TEXT_Buffer) //数组长度
#define FLASH_SAVE_ADDR 0X0801e000 //设置FLASH 保存地址(必须为偶数,且其值要大于本代码所占用FLASH的大小+0X08000000)
u8 datatemp[SIZE];
void HMISends(u8 *buf1) //字符串发送函数
{
u8 i=0;
while(1)
{
if(buf1!=0)
{
USART_SendData(USART2,buf1); //发送一个字节
while(USART_GetFlagStatus(USART2,USART_FLAG_TXE)==RESET){};//等待发送结束
i++;
}
else return ;
}
}
int main(void)
{
My_USART2_Init(); //串口初始化
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
STMFLASH_Write(FLASH_SAVE_ADDR,(u16*)TEXT_Buffer,SIZE); //写数据到flash
while(1)
{
STMFLASH_Read(FLASH_SAVE_ADDR,(u16*)datatemp,SIZE); //读数据到数组datatemp
HMISends(datatemp); //用函数发送数组参数方法
USART_SendData(USART2,0x0d); //换行
USART_SendData(USART2,0x0a); //换行
delay_ms(500);
}
}
|
|