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

標題: keil5 仿真出現ERROR L121:IMPROPER FIXUP如何解決? [打印本頁]

作者: BARBATOS    時間: 2018-4-16 14:09
標題: keil5 仿真出現ERROR L121:IMPROPER FIXUP如何解決?
如題,用keil5仿真出現了ERROR L121:IMPROPER FIXUP的問題,第一次遇到,那個code也已經是large了,不知道怎么解決。

作者: admin    時間: 2018-4-16 15:44
源碼呢?
作者: BARBATOS    時間: 2018-5-9 19:07
admin 發表于 2018-4-16 15:44
源碼呢?

不好意思,才看到,真的不好意思。我把報錯部分發上來。
#include "keyboard.h"
extern bit bdata flag_key;
//按鍵掃描函數 :   
//功能;只掃描一個按鍵,按鍵為號小優先  
//返回鍵值:
//         1    2    3    10           //10:清零重量,兼去皮功能       
//         4    5    6    11           //11:清除單價
//         7    8    9    12           //12:顯示數值偏大調節按鍵  
//         14   0    15   13           //14:無功能(用于擴展)15:小數點   13:顯示數值偏小調節按鍵

unsigned char Getkeyboard(void)
{
    unsigned char number = 0;
    unsigned char i;
        //行輸入低電平
    ROW1=ROW2=ROW3=ROW4=0;
        //如果列輸出不全為高,則說明有鍵按下
        if (((COL1!=1)||(COL2!=1)||(COL3!=1)||(COL4!=1))&&flag_key==1)
        {
           //輸入0111
           flag_key=0;
           ROW1=0;
           ROW2=ROW3=ROW4=1;
           for (i=0;i<20;i++);
           if (COL1==0) return 1;           // 7
           else if (COL2==0) return 2;        //         8
           else if (COL3==0) return 3;         //        9
           else if (COL4==0) return 10;         //         10
           //輸入1011
           ROW2=0;
           ROW1=ROW3=ROW4=1;
           for (i=0;i<20;i++);
           if (COL1==0) return 4;          //4
           else if (COL2==0) return 5; //  5
           else if (COL3==0) return 6;        // 6
           else if (COL4==0) return 11;         //        11
           //輸入1101
           ROW3=0;
           ROW1=ROW2=ROW4=1;
           for (i=0;i<20;i++);
           if (COL1==0) return 7;  //1
           else if (COL2==0) return 8;          // 2
           else if (COL3==0) return 9;          //   3
           else if (COL4==0) return 12;          //   12
           //輸入0111
           ROW4=0;
           ROW1=ROW2=ROW3=1;
           for (i=0;i<20;i++);
           if (COL1==0) return 14;
           else if (COL2==0) return 0;
           else if (COL3==0) return 15;
           else if (COL4==0) return 13;
           //沒有檢測到列低電平
           return 99;
        }
        else if(COL1==1&&COL2==1&&COL3==1&&COL4==1)
        flag_key=1;
        return 99;
}

作者: Liferme    時間: 2018-5-9 20:10
I/O口有問題吧,重新拔插一下
作者: BARBATOS    時間: 2018-5-10 09:52
Liferme 發表于 2018-5-9 20:10
I/O口有問題吧,重新拔插一下

是在keil里不能編譯成功,我同時還試了別的程序,正常的。

作者: Hmu    時間: 2020-4-3 10:26
樓主解決了嘛 遇到同樣問題
作者: pang7    時間: 2020-4-13 11:46
bdata 問題 keil5 不認bdata
作者: 51hei團團    時間: 2021-1-10 23:44
我今天也遇到了同樣的問題,IMPROPER FIXUP,研究了半天終于解決了,原來這個問題是因為Keil4和Keil5不支持bdata的問題導致的,所以退回Keil2,新建工程,加入文件,重新編譯就OK了,你這個上面也有bdata所以也可以用我的辦法來成功解決的.

參考資料:
The variables ibase and bary are bit-addressable. Therefore, the individual bits of these variables may be directly accessed and modified. Use the sbit keyword to declare new variables that access the bits of bdata variables. For example:

sbit mybit0 = ibase ^ 0;      /* bit 0 of ibase */
sbit mybit15 = ibase ^ 15;    /* bit 15 of ibase */

sbit Ary07 = bary[0] ^ 7;     /* bit 7 of bary[0] */
sbit Ary37 = bary[3] ^ 7;     /* bit 7 of bary[3] */
The above example represents declarations, not assignments to the bits of the ibase and bary bdata variables. The expression following the carat symbol ('^') in the example specifies the position of the bit to access with this declaration. This expression must be a constant value.

The range depends on the type of the base variable included in the declaration. The range is:

0-7 for char and unsigned char, 0-15 for int, unsigned int,
short, and unsigned short, and
0-31 for long and unsigned long.

并沒有定義bit類型的bdata。因此定義成char。

OFDM_PHY_ext   char     bdata   bLib_RxPlcEnd;
OFDM_PHY_ext   char     bdata  RX_BUSY;
OFDM_PHY_ext   char     bdata  TX_BUSY;
Comm_ext char bdata bCommRxEnd;
Comm_ext char bdata bCommRxstart;
作者: 13104462097    時間: 2021-5-3 19:54
keil uvision 2最好用




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲一区视频 | 狠狠躁夜夜躁人爽 | 国产主播一区二区 | a天堂在线 | 日韩午夜av | 天天草天天干 | 国产三级在线观看视频 | 福利视频一区 | 中文字幕精品视频 | 性做久久久久久久免费看 | 激情网站在线观看 | 中国少妇xxxxhd做受 | 欧美在线网址 | 日本欧美在线观看 | av在线免费网站 | 日韩在线小视频 | 久久久www成人免费精品 | 久久老司机 | 在线播放h | 成年人一级片 | 黄色免费av | 91精品福利 | 久久久久久久久久久久久久久久久久久 | 国产精品国产三级国产 | 在线一区二区三区四区 | 久久伊人av| 狠狠干天天干 | av狠狠干| 国产成人一区 | 天天夜夜操 | 国产伊人网 | 蜜桃综合网 | 日韩精品一区二区三区中文在线 | 精品自拍视频 | 日本www在线观看 | 欧美www | 亚洲精品免费观看 | 亚洲 欧美 激情 另类 校园 | 99久久国产视频 | 免费一级a毛片 | 国产黄色免费网站 |