找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1254|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

為什么在C語言switch里面不能改變里面的值?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:1130333 發(fā)表于 2024-8-8 23:03 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
麻煩幫我看看這段C語言代碼可以嗎 謝謝大家.
這段代碼為什么在switch里面不能改變里面的值哦. 變量哪里錯了嗎?
  1. typedef unsigned char u8;
  2. typedef unsigned int u16;
  3. code u8  uuzu[]={5,15,35,155};
  4.   
  5. u8 save;
  6. u8 state;
  7. u8 dat;
  8. u16 EEPROMId = 0020;
  9. u8 time;

  10.         while(1)
  11.         {      
  12.                 dat = IapRead(EEPROMId + 1);                        //讀取下一字節(jié)數(shù)據(jù)255
  13.                 printf("dat=%bu\r\n",dat);
  14.                 printf("id=%u\r\n",EEPROMId);               
  15.                 if(dat == 0XFF)                                        //下一字節(jié)字節(jié)未寫入數(shù)據(jù)255
  16.                 {
  17.                         dat = IapRead(EEPROMId);                //讀取當前字節(jié)數(shù)據(jù)
  18. //                        SetMode(CMD_PROGRAM);                        //寫入數(shù)據(jù)
  19.                        
  20.                        
  21.                 printf("uu %bu \r\n",uuzu);
  22.                        
  23.          
  24.                        
  25.                           IapProgram(EEPROMId+1, state);
  26.                        
  27.                 switch(state)
  28.                         {      
  29.                               
  30.                                 case 0: PWMA_CCR1=1;break;
  31.                                 case 1: PWMA_CCR1=5;break;
  32.                                 case 2: PWMA_CCR1=15;break;
  33. //                                case 3: IapProgram(EEPROMId+1,Dat[4]);break;
  34.                                 default: PWMA_CCR1=55;break;
  35.                               
  36.                         }         
復(fù)制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:1109793 發(fā)表于 2024-8-9 07:28 | 只看該作者
哪個不能改變?另外,有個小寫的dat還有個Dat[4],Dat是在哪兒定義的?
回復(fù)

使用道具 舉報

板凳
ID:814525 發(fā)表于 2024-8-9 08:49 | 只看該作者
PWA寄存器屬于擴展寄存器,加上P_SW2 = 0x80; 試試
回復(fù)

使用道具 舉報

地板
ID:69038 發(fā)表于 2024-8-9 09:07 | 只看該作者
沒看到state的賦值語句在哪里?所以state就一直是0.
回復(fù)

使用道具 舉報

5#
ID:1010435 發(fā)表于 2024-8-9 10:24 | 只看該作者
沒見到給state賦值啊
回復(fù)

使用道具 舉報

6#
ID:1034262 發(fā)表于 2024-8-9 10:59 | 只看該作者
當然可以任意操作。
回復(fù)

使用道具 舉報

7#
ID:1130333 發(fā)表于 2024-8-10 21:27 | 只看該作者
zhuls 發(fā)表于 2024-8-9 09:07
沒看到state的賦值語句在哪里?所以state就一直是0.

搞明白了. 就是這個問題, state沒有賦值,, 一直是0
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表