久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9213|回復: 8
打印 上一主題 下一主題
收起左側

STC15的內部EEPROM奇怪問題

[復制鏈接]
跳轉到指定樓層
樓主


STC15的內部EEPROM奇怪問題

思路如下:
  清除地址0x00的內容;
  地址0x00 寫入 0x22數據;
  地址0x01 寫入 0x44數據;
  地址0x02 寫入 0x66數據;
  地址0x03 寫入 0x88數據;
通過按鍵P11,再讀出地址0x00、地址0x01、地址0x02、地址0x03的數據值是22、44、66、88. 通過按鍵P10,賦值0xEE給num的內容。
清除地址0x00的內容;
并將num的數值寫入地址0x00;
再按P11讀出值是EE、FF、FF、FF.
   
我又沒有對地址0x01、0x02、0x03進行操作,為什么會變成全FF了呢?

  1. #include "reg51.h"
  2. #include "intrins.h"
  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. #define ulong unsigned long
  6. sfr P5          =   0xC8;   //xxxx,1111 端口5
  7. sfr P0M0        =   0x94;   //0000,0000 端口0模式寄存器0
  8. sfr P0M1        =   0x93;   //0000,0000 端口0模式寄存器1
  9. sfr P1M0        =   0x92;   //0000,0000 端口1模式寄存器0
  10. sfr P1M1        =   0x91;   //0000,0000 端口1模式寄存器1
  11. sfr P2M0        =   0x96;   //0000,0000 端口2模式寄存器0
  12. sfr P2M1        =   0x95;   //0000,0000 端口2模式寄存器1
  13. sfr P3M0        =   0xB2;   //0000,0000 端口3模式寄存器0
  14. sfr P3M1        =   0xB1;   //0000,0000 端口3模式寄存器1

  15. sfr P5M0        =   0xCA;   //0000,0000 端口5模式寄存器0
  16. sfr P5M1        =   0xC9;   //0000,0000 端口5模式寄存器1

  17. sfr   IE2       = 0xAF;               //中斷使能寄存器2
  18. sfr   AUXR      = 0x8e;               //輔助寄存器
  19. sfr   T2H       = 0xD6;               //定時器2高8位
  20. sfr   T2L       = 0xD7;               //定時器2低8位
  21. sfr ADC_CONTR   =   0xBC;           //ADC控制寄存器
  22. sfr ADC_RES     =   0xBD;           //ADC高8位結果
  23. sfr ADC_LOW2    =   0xBE;           //ADC低2位結果
  24. sfr P1ASF       =   0x9D;           //P1口第2功能控制寄存器

  25. sfr IAP_DATA    =   0xC2;           //IAP數據寄存器
  26. sfr IAP_ADDRH   =   0xC3;           //IAP地址寄存器高字節
  27. sfr IAP_ADDRL   =   0xC4;           //IAP地址寄存器低字節
  28. sfr IAP_CMD     =   0xC5;           //IAP命令寄存器
  29. sfr IAP_TRIG    =   0xC6;           //IAP命令觸發寄存器
  30. sfr IAP_CONTR   =   0xC7;           //IAP控制寄存器
  31. sbit    LCD5110_RES = P3^7;  //LCD5110 復位,0復位
  32. sbit   LCD5110_SCLK = P3^6;  //LCD5110 時鐘
  33. sbit   LCD5110_SDIN = P3^5;  //LCD5110 數據
  34. sbit     LCD5110_DC = P3^4;  //LCD5110 1寫數據,0寫指令
  35. sbit     LCD5110_CE = P3^3;  //LCD5110 片選
  36. sbit            P10 = P1^0;  //開關
  37. sbit            P11 = P1^1;  //開關
  38. sbit            P54 = P5^4;  //開關
  39. sbit            LED = P3^1;  //開關
  40. const unsigned char code F6x8[][6] =
  41. {
  42.     { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },   // sp 0
  43.     { 0x00, 0x00, 0x00, 0x2f, 0x00, 0x00 },   // ! 1
  44.     { 0x00, 0x00, 0x07, 0x00, 0x07, 0x00 },   // " 2
  45.     { 0x00, 0x14, 0x7f, 0x14, 0x7f, 0x14 },   // # 3
  46.     { 0x00, 0x24, 0x2a, 0x7f, 0x2a, 0x12 },   // $ 4
  47.     { 0x00, 0x62, 0x64, 0x08, 0x13, 0x23 },   // % 5
  48.     { 0x00, 0x36, 0x49, 0x55, 0x22, 0x50 },   // & 6
  49.     { 0x00, 0x00, 0x05, 0x03, 0x00, 0x00 },   // ' 7
  50.     { 0x00, 0x00, 0x1c, 0x22, 0x41, 0x00 },   // ( 8
  51.     { 0x00, 0x00, 0x41, 0x22, 0x1c, 0x00 },   // ) 9
  52.     { 0x00, 0x14, 0x08, 0x3E, 0x08, 0x14 },   // * 10
  53.     { 0x00, 0x08, 0x08, 0x3E, 0x08, 0x08 },   // + 11
  54.     { 0x00, 0x00, 0x00, 0xA0, 0x60, 0x00 },   // , 12
  55.     { 0x00, 0x08, 0x08, 0x08, 0x08, 0x08 },   // - 13
  56.     { 0x00, 0x00, 0x60, 0x60, 0x00, 0x00 },   // . 14
  57.     { 0x00, 0x20, 0x10, 0x08, 0x04, 0x02 },   // / 15
  58.     { 0x00, 0x3E, 0x51, 0x49, 0x45, 0x3E },   // 0 16
  59.     { 0x00, 0x00, 0x42, 0x7F, 0x40, 0x00 },   // 1 17
  60.     { 0x00, 0x42, 0x61, 0x51, 0x49, 0x46 },   // 2 18
  61.     { 0x00, 0x21, 0x41, 0x45, 0x4B, 0x31 },   // 3 19
  62.     { 0x00, 0x18, 0x14, 0x12, 0x7F, 0x10 },   // 4 20
  63.     { 0x00, 0x27, 0x45, 0x45, 0x45, 0x39 },   // 5 21
  64.     { 0x00, 0x3C, 0x4A, 0x49, 0x49, 0x30 },   // 6 22
  65.     { 0x00, 0x01, 0x71, 0x09, 0x05, 0x03 },   // 7 23
  66.     { 0x00, 0x36, 0x49, 0x49, 0x49, 0x36 },   // 8 24
  67.     { 0x00, 0x06, 0x49, 0x49, 0x29, 0x1E },   // 9 25
  68.     { 0x00, 0x00, 0x36, 0x36, 0x00, 0x00 },   // : 26
  69.     { 0x00, 0x00, 0x56, 0x36, 0x00, 0x00 },   // ; 27
  70.     { 0x00, 0x08, 0x14, 0x22, 0x41, 0x00 },   // < 28
  71.     { 0x00, 0x14, 0x14, 0x14, 0x14, 0x14 },   // = 29
  72.     { 0x00, 0x00, 0x41, 0x22, 0x14, 0x08 },   // > 30
  73.     { 0x00, 0x02, 0x01, 0x51, 0x09, 0x06 },   // ? 31
  74.     { 0x00, 0x32, 0x49, 0x59, 0x51, 0x3E },   // @ 32
  75.     { 0x00, 0x7C, 0x12, 0x11, 0x12, 0x7C },   // A 33
  76.     { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x36 },   // B 34
  77.     { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x22 },   // C 35
  78.     { 0x00, 0x7F, 0x41, 0x41, 0x22, 0x1C },   // D 36
  79.     { 0x00, 0x7F, 0x49, 0x49, 0x49, 0x41 },   // E 37
  80.     { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x01 },   // F 38
  81.     { 0x00, 0x3E, 0x41, 0x49, 0x49, 0x7A },   // G 39
  82.     { 0x00, 0x7F, 0x08, 0x08, 0x08, 0x7F },   // H 40
  83.     { 0x00, 0x00, 0x41, 0x7F, 0x41, 0x00 },   // I 41
  84.     { 0x00, 0x20, 0x40, 0x41, 0x3F, 0x01 },   // J 42
  85.     { 0x00, 0x7F, 0x08, 0x14, 0x22, 0x41 },   // K 43
  86.     { 0x00, 0x7F, 0x40, 0x40, 0x40, 0x40 },   // L 44
  87.     { 0x00, 0x7F, 0x02, 0x0C, 0x02, 0x7F },   // M 45
  88.     { 0x00, 0x7F, 0x04, 0x08, 0x10, 0x7F },   // N 46
  89.     { 0x00, 0x3E, 0x41, 0x41, 0x41, 0x3E },   // O 47
  90.     { 0x00, 0x7F, 0x09, 0x09, 0x09, 0x06 },   // P 48
  91.     { 0x00, 0x3E, 0x41, 0x51, 0x21, 0x5E },   // Q 49
  92.     { 0x00, 0x7F, 0x09, 0x19, 0x29, 0x46 },   // R 50
  93.     { 0x00, 0x46, 0x49, 0x49, 0x49, 0x31 },   // S 51
  94.     { 0x00, 0x01, 0x01, 0x7F, 0x01, 0x01 },   // T 52
  95.     { 0x00, 0x3F, 0x40, 0x40, 0x40, 0x3F },   // U 53
  96.     { 0x00, 0x1F, 0x20, 0x40, 0x20, 0x1F },   // V 54
  97.     { 0x00, 0x3F, 0x40, 0x38, 0x40, 0x3F },   // W 55
  98.     { 0x00, 0x63, 0x14, 0x08, 0x14, 0x63 },   // X 56
  99.     { 0x00, 0x07, 0x08, 0x70, 0x08, 0x07 },   // Y 57
  100.     { 0x00, 0x61, 0x51, 0x49, 0x45, 0x43 },   // Z 58
  101.     { 0x00, 0x00, 0x7F, 0x41, 0x41, 0x00 },   // [ 59
  102.     { 0x00, 0x55, 0x2A, 0x55, 0x2A, 0x55 },   // 55 60
  103.     { 0x00, 0x00, 0x41, 0x41, 0x7F, 0x00 },   // ] 61
  104.     { 0x00, 0x04, 0x02, 0x01, 0x02, 0x04 },   // ^ 62
  105.     { 0x00, 0x40, 0x40, 0x40, 0x40, 0x40 },   // _ 63
  106.     { 0x00, 0x00, 0x01, 0x02, 0x04, 0x00 },   // ' 64
  107.     { 0x00, 0x20, 0x54, 0x54, 0x54, 0x78 },   // a 65
  108.     { 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38 },   // b 66
  109.     { 0x00, 0x38, 0x44, 0x44, 0x44, 0x20 },   // c 67
  110.     { 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F },   // d 68
  111.     { 0x00, 0x38, 0x54, 0x54, 0x54, 0x18 },   // e 69
  112.     { 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02 },   // f 70
  113.     { 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C },   // g 71
  114.     { 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78 },   // h 72
  115.     { 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00 },   // i 73
  116.     { 0x00, 0x40, 0x80, 0x84, 0x7D, 0x00 },   // j 74
  117.     { 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00 },   // k 75
  118.     { 0x00, 0x00, 0x41, 0x7F, 0x40, 0x00 },   // l 76
  119.     { 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78 },   // m 77
  120.     { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78 },   // n 78
  121.     { 0x00, 0x38, 0x44, 0x44, 0x44, 0x38 },   // o 79
  122.     { 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18 },   // p 80
  123.     { 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC },   // q 81
  124.     { 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08 },   // r 82
  125.     { 0x00, 0x48, 0x54, 0x54, 0x54, 0x20 },   // s 83
  126.     { 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20 },   // t 84
  127.     { 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C },   // u 85
  128.     { 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C },   // v 86
  129.     { 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C },   // w 87
  130.     { 0x00, 0x44, 0x28, 0x10, 0x28, 0x44 },   // x 88
  131.     { 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C },   // y 89
  132.     { 0x00, 0x44, 0x64, 0x54, 0x4C, 0x44 },   // z 90
  133.     { 0x14, 0x14, 0x14, 0x14, 0x14, 0x14 }    // = 91
  134. };

  135. void Delayms(uint ms) //1mS@12.000MHz
  136. {
  137.    unsigned char i, j;
  138.    while(ms--)
  139.    {i = 12;
  140.                 j = 169;
  141.                 do
  142.                 {
  143.                         while (--j);
  144.                 } while (--i);
  145.    }
  146. }
  147. void IapIdle()//關閉IAP
  148. {
  149.     IAP_CONTR = 0;            //關閉IAP功能
  150.     IAP_CMD = 0;              //清除命令寄存器
  151.     IAP_TRIG = 0;             //清除觸發寄存器
  152.     IAP_ADDRH = 0x80;         //將地址設置到非IAP區域
  153.     IAP_ADDRL = 0;
  154. }
  155. uchar IapReadByte(uint addr)//從ISP/IAP/EEPROM區域讀取一字節
  156. {
  157.     uchar dat;                //數據緩沖區
  158.     IAP_CONTR = 0x82;         //使能IAP
  159.     IAP_CMD = 0x01;           //設置IAP命令
  160.     IAP_ADDRL = addr;         //設置IAP低地址
  161.     IAP_ADDRH = addr >> 8;    //設置IAP高地址
  162.     IAP_TRIG = 0x5A;          //寫觸發命令(0x5a)
  163.     IAP_TRIG = 0xA5;          //寫觸發命令(0xa5)
  164.     _nop_();                  //等待ISP/IAP/EEPROM操作完成
  165.     dat = IAP_DATA;           //讀ISP/IAP/EEPROM數據
  166.     IapIdle();                //關閉IAP功能
  167.     return dat;               //返回
  168. }
  169. void IapEraseSector(uint addr)
  170. {
  171.     IAP_CONTR = 0x82;         //使能IAP
  172.     IAP_CMD   = 0x03;         //設置IAP命令
  173.     IAP_ADDRL = addr;         //設置IAP低地址
  174.     IAP_ADDRH = addr >> 8;    //設置IAP高地址
  175.     IAP_TRIG  = 0x5a;         //寫觸發命令(0x5a)
  176.     IAP_TRIG  = 0xa5;         //寫觸發命令(0xa5)
  177.     _nop_();                  //等待ISP/IAP/EEPROM操作完成
  178.     IapIdle();
  179. }
  180. void IapProgramByte(uint addr, uchar dat)//寫一字節數據到ISP/IAP/EEPROM區域
  181. {
  182.     IAP_CONTR = 0x82;        //使能IAP
  183.     IAP_CMD = 0x02;          //設置IAP命令
  184.     IAP_ADDRL = addr;        //設置IAP低地址
  185.     IAP_ADDRH = addr >> 8;   //設置IAP高地址
  186.     IAP_DATA = dat;          //寫ISP/IAP/EEPROM數據
  187.     IAP_TRIG = 0x5A;         //寫觸發命令(0x5a)
  188.     IAP_TRIG = 0xA5;         //寫觸發命令(0xa5)
  189.     _nop_();                 //等待ISP/IAP/EEPROM操作完成
  190.     IapIdle();
  191. }
  192. void LCD_write_byte(unsigned char dt, unsigned char command)//LCD5110寫入數據
  193. {
  194.      unsigned char i;
  195.      LCD5110_CE=0;                       // 關閉LCD
  196.      LCD5110_DC=command;     // 0是寫命令,1是寫數據
  197.      for(i=0;i<8;i++)
  198.      {
  199.           if(dt&0x80)
  200.              LCD5110_SDIN=1;
  201.             else
  202.              LCD5110_SDIN=0;
  203.           dt=dt<<1;      //dt為暫存數據   
  204.           LCD5110_SCLK=0;_nop_();                           
  205.           LCD5110_SCLK=1;_nop_();
  206.      }   
  207.      LCD5110_DC=1;   
  208.      LCD5110_CE=1;   
  209.      LCD5110_SDIN=1;
  210. }
  211. void LCD_clear(void) //5110LCD清屏
  212. {
  213.         unsigned int i;
  214.         LCD_write_byte(0x0c, 0);                        
  215.         LCD_write_byte(0x80, 0);                        
  216.         for (i=0; i<504; i++)
  217.         LCD_write_byte(0, 1);                        
  218. }
  219. void LCD_set_XY(unsigned char X, unsigned char Y)  //x 左右共0~83列可移,Y由上至下共0~5行可移
  220. {
  221.                 LCD_write_byte(0x40 | Y, 0);        // column         Y+=64
  222.                 LCD_write_byte(0x80 | X, 0);  // row                 X+=128
  223. }
  224. void LCD_init(void)        //5110LCD初始化LCD_init
  225. {            
  226.                 LCD5110_RES=0;        // 產生一個讓LCD復位的低電平脈沖
  227.                 Delayms(10);
  228.                 LCD5110_RES=1;                 
  229.                 LCD5110_CE = 0;         // 關閉LCD
  230.                 Delayms(10);
  231.                 LCD5110_CE = 1;// 使能LCD
  232.                 Delayms(10);
  233.                 LCD_write_byte(0x21, 0);        // 使用擴展命令設置LCD模式
  234.                 LCD_write_byte(0xC2, 0);        // 設置偏置電壓//不同的屏須要微調此參數B9~C9
  235.                 LCD_write_byte(0x06, 0);        // 溫度校正
  236.                 LCD_write_byte(0x13, 0);        // 1:48
  237.                 LCD_write_byte(0x20, 0);        // 使用基本命令
  238.                 LCD_clear();                // 清屏
  239.                 LCD_write_byte(0x0C, 0);        // 設定顯示模式,正常顯示      
  240.                 LCD5110_CE = 0;  // 關閉LCD
  241. }
  242. void LCD_P6x8Str(unsigned char x,unsigned char y,unsigned char ch)
  243. {
  244.         unsigned char i;      
  245.         LCD_set_XY(x,y);   
  246.         for(i=0;i<6;i++){        LCD_write_byte(F6x8[ch][i],1);  }
  247. }

  248. void LCD_P6x8Str4wita(unsigned char x,unsigned char y,unsigned char dat)
  249. {
  250.         uchar buff;
  251.         buff=(dat%4096/256);
  252.         if(buff<10)
  253.         {LCD_P6x8Str(x,y,buff+16);}
  254.   else { LCD_P6x8Str(x,y,buff+23);}
  255.   buff=(dat%256/16);
  256.         if(buff<10)
  257.         {LCD_P6x8Str(x+6,y,buff+16);}
  258.   else { LCD_P6x8Str(x+6,y,buff+23);}
  259.         buff=(dat%16/1);
  260.         if(buff<10)
  261.         {LCD_P6x8Str(x+12,y,buff+16);}
  262.   else { LCD_P6x8Str(x+12,y,buff+23);}
  263. }
  264. void main()
  265. {
  266.           uchar num;
  267.           P0M0 = 0x00;
  268.                 P0M1 = 0x00;
  269.                 P1M0 = 0x00;
  270.                 P1M1 = 0x00;
  271.                 P3M0 = 0x00;
  272.                 P3M1 = 0x00;
  273.                 P5M0 = 0x00;
  274.                 P5M1 = 0x00;
  275.     LCD_init();//LCD初始化
  276.           LED=0;
  277.         
  278. IapEraseSector(0);//清除數據        
  279. IapProgramByte(0,0x22);        //寫入數據
  280. IapProgramByte(1,0x44);        //寫入數據
  281. IapProgramByte(2,0x66);        //寫入數據
  282. IapProgramByte(3,0x88);//寫入數據

  283.         while(1)
  284.         {
  285.                                 
  286.                 if(!P10)
  287.                         {
  288.                                 Delayms(40);
  289.                                 if(!P10)
  290.                                         {
  291.                                                 while(!P10);
  292.                                                 num=0xEE;
  293.                                                 IapEraseSector(0);//清除數據
  294.                                                 IapProgramByte(0,num);//寫入數據
  295.                                         }
  296.                         }
  297.                 if(!P11)
  298.                         {
  299.                                 Delayms(40);
  300.                                 if(!P11)
  301.                                         {
  302.                                                 while(!P11);
  303.                                                 LCD_P6x8Str4wita(30,1,IapReadByte(0));//讀出數據
  304.                                                 LCD_P6x8Str4wita(30,2,IapReadByte(1));//讀出數據
  305.                                                 LCD_P6x8Str4wita(30,3,IapReadByte(2));//讀出數據        
  306.                                                 LCD_P6x8Str4wita(30,4,IapReadByte(3));//讀出數據
  307.                                         }
  308.                         }
  309.                         

  310.                         
  311.                         

  312.         }
  313.         
  314. }        
復制代碼



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

使用道具 舉報

沙發
ID:123289 發表于 2017-2-23 23:09 | 只看該作者
太長,寫出關鍵點,或用紅色圈出來。
回復

使用道具 舉報

板凳
ID:146949 發表于 2017-2-23 23:57 | 只看該作者
關鍵點就是:
num=0xEE;
IapEraseSector(0);//清除數據
IapProgramByte(0,num);//寫入數據
執行完后只有EEPROM地址的0是正確,其它地址1、2、3變成了FF
回復

使用道具 舉報

地板
ID:143209 發表于 2017-4-5 17:01 | 只看該作者
請問樓主解決這個問題了嗎?我也遇到了,然后有一段時間是可以的,后來又不行。
回復

使用道具 舉報

5#
ID:143209 發表于 2017-4-5 22:06 | 只看該作者
        IAP_ADDRH = (unsigned char)(addr>>8);    //設置目標單元地址的高8 位地址
        IAP_ADDRL = (unsigned char)(addr&0x00ff);    //設置目標單元地址的低8 位地址
樓主可以改成這樣試試。我的沒問題了。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

6#
ID:146949 發表于 2017-4-5 23:10 | 只看該作者
jackenli 發表于 2017-4-5 22:06
IAP_ADDRH = (unsigned char)(addr>>8);    //設置目標單元地址的高8 位地址
        IAP_ADDRL = (unsigned cha ...

STC單片機不像24C02那樣寫EEPROM,24C02的操作是寫器件址->寫寄存器地址->寫數據
STC操作是寫扇區清除(會自動把扇區0x0000~0x01ff 512個填滿FF)->然后再把數據從0位開始放入至511位置。每次操作都要重新刷新扇區內的512個數據。

這是我研究了3個星期的成果,還有一種辦法是每個扇區寫一個數據,(寫扇區地址1->寫數據 , 寫扇區地址2->寫數據)

評分

參與人數 1黑幣 +40 收起 理由
admin + 40 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

7#
ID:907814 發表于 2021-9-17 17:41 | 只看該作者
我也遇到這鬼問題了
回復

使用道具 舉報

8#
ID:57657 發表于 2021-9-17 20:52 | 只看該作者
STC內置的EEPROM,不是真正的EEPROM,而是Flash閃存。
沒有字節擦除,只有扇區擦除,二進制1寫0不可逆,擦除后才可以全部恢復為1(0xFF),一次擦一個扇區(512字節)。
擦除扇區 IapEraseSector(i); 其中i可以取0、512、1024、1536等,其他都是錯誤的。
問題已經遇到無數次了,很多新人操作EEPROM都會犯相同的錯誤。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

9#
ID:624769 發表于 2021-9-17 21:45 | 只看該作者
2017 年的時候,樓主自問自答 連獎勵 都拿走了,可以封貼了吧?
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品乱码一区二区三区 | 羞羞的视频在线 | 日韩精品在线看 | 欧美999 | 国产成人影院 | 天天插天天搞 | 天天干天天爱天天操 | 黄色成人在线网站 | 亚洲人成在线观看 | 91久久精品一区二区二区 | 国产成人精品a视频一区www | 午夜精品久久久久久久久久久久久 | 一区视频 | 精品一区二区三区在线观看 | 中文在线视频 | 国产丝袜一区二区三区免费视频 | 国产精品99久久久久久动医院 | 日本久久久久久 | 亚洲精品一区二区三区中文字幕 | 欧洲一级毛片 | 成人1区| 久www| 91国产在线视频在线 | 日本午夜网 | 国产成人久久精品 | 北条麻妃一区二区三区在线观看 | 婷婷激情综合 | 中文字幕一二三区 | 色香婷婷| 91精品中文字幕一区二区三区 | 久久网一区二区三区 | 毛片电影 | 日韩毛片播放 | 日本免费在线看 | 99pao成人国产永久免费视频 | 国产成人黄色 | 亚洲天堂二区 | 91精品国产91久久久久久最新 | 91成人免费看 | 中文字幕一区二区三区不卡 | 自拍偷拍亚洲一区 |