随笔 - 733  文章 - 2  评论 - 12  阅读 - 92万

C语言错误代码集锦

1 for中死循环

复制代码
 1 static int8_t FW_Check_update(uint32_t sr_addr,uint32_t dst_addr,uint32_t size)
 2 {
 3 #define FLASH_RSIZE   256
 4   uint32_t offset =0;
 5   uint32_t fw_size =size;
 6   uint32_t  ramsource[FLASH_RSIZE]={0};  
 7   volatile uint32_t flashdestination = dst_addr;
 8   uint16_t  rsize =FLASH_RSIZE;
 9   
10   FLASH_If_Erase(APP_START_PAGE,APP_PAGE_SIZE);
11   while(offset < fw_size)
12   {
13     if((fw_size - offset) < (FLASH_RSIZE*4))
14     {
15       uint32_t temp=fw_size - offset;
16       rsize =((temp%4)==0)?(temp/4):(temp/4 +1);
17       //rsize =(fw_size - offset)/4;
18     }
19     for(uint8_t i=0;i < rsize;i++)
20     {
21       ramsource[i]=STMFLASH_ReadWord(sr_addr +offset+i*4);
22     }
23     
24     if (FLASH_If_Write(&flashdestination, ramsource,rsize) == FLASHIF_OK)
25     {
26       offset +=rsize*4; 
27     }else{
28       printf_debug("boot:write app flash failed!!! \n\r");
29       return 0;
30     }
31   }
32   return 1;
33 }
View Code
复制代码

2 形参过程中改变:

posted on   杰瑞鼠  阅读(47)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示