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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

keil5 仿真出現ERROR L121:IMPROPER FIXUP如何解決?

[復制鏈接]
跳轉到指定樓層
樓主
ID:307417 發表于 2018-4-16 14:09 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
如題,用keil5仿真出現了ERROR L121:IMPROPER FIXUP的問題,第一次遇到,那個code也已經是large了,不知道怎么解決。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:1 發表于 2018-4-16 15:44 | 只看該作者
源碼呢?
回復

使用道具 舉報

板凳
ID:307417 發表于 2018-5-9 19:07 | 只看該作者

不好意思,才看到,真的不好意思。我把報錯部分發上來。
#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;
}
回復

使用道具 舉報

地板
ID:326246 發表于 2018-5-9 20:10 | 只看該作者
I/O口有問題吧,重新拔插一下
回復

使用道具 舉報

5#
ID:307417 發表于 2018-5-10 09:52 | 只看該作者
Liferme 發表于 2018-5-9 20:10
I/O口有問題吧,重新拔插一下

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

使用道具 舉報

6#
ID:708082 發表于 2020-4-3 10:26 | 只看該作者
樓主解決了嘛 遇到同樣問題
回復

使用道具 舉報

7#
ID:604033 發表于 2020-4-13 11:46 | 只看該作者
bdata 問題 keil5 不認bdata

評分

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

查看全部評分

回復

使用道具 舉報

8#
ID:328014 發表于 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;
回復

使用道具 舉報

9#
ID:915354 發表于 2021-5-3 19:54 來自手機 | 只看該作者
keil uvision 2最好用
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产福利久久 | 高清视频一区二区三区 | 成人免费一区二区 | 午夜免费网站 | 天堂一区 | 暴草美女 | 性在线| 激情福利视频 | 欧美不卡一区 | 9999国产精品欧美久久久久久 | 一级在线观看 | 毛片高清| 一区二区三区在线免费观看 | 国产成人jvid在线播放 | 国产真实精品久久二三区 | 三级成人在线 | 一区二区不卡 | 影音先锋中文字幕在线观看 | 三区在线| 亚洲国产一区二区视频 | av网站在线免费观看 | 国产成人91视频 | 日日干日日操 | 亚洲免费在线 | 亚洲免费高清 | 日本精品一区二区三区在线观看视频 | 久久国产欧美日韩精品 | 中文在线播放 | 亚洲一区二区三区国产 | 五月槐花香 | 精品久久久久久久人人人人传媒 | 国产第二页| 国产在线高清 | 午夜精品在线 | 日本在线免费视频 | 成人黄色电影在线观看 | 国际精品鲁一鲁一区二区小说 | 欧美极品在线 | 天天干天天操 | 天天插日日操 | 日日操日日舔 |