新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 把EasyPro51編程器的源代碼修改在SDCC上,編譯運行通過

        把EasyPro51編程器的源代碼修改在SDCC上,編譯運行通過

        作者: 時間:2016-11-29 來源:網絡 收藏
        因為我有點時間就去開發51單片機。發現在Linux(Debian和Ubuntu上)無法編譯51單片機程序,只好在網上下了個Keil.然后就是wine仿真。但是老崩潰。代碼也有問題。然后又改成了在虛擬機里跑。但是還是不爽!知道發現了SDCC后才知道了什么叫方便。一些Keil中的語法在SDCC中要更正。

        比如說P0.1口的LED.點亮他在Keil中這么寫

        本文引用地址:http://www.104case.com/article/201611/323425.htm

        sbit LED=P0^1;
        void XXXX(void)
        {
        LED=1;
        LED=0;
        while (1){}
        }

        但是在sdcc中卻通不過。網上查了下,要用這種方法:

        __sbit __at 0x80 LED;
        //或者#define LED P0_1
        void XXXX(void)
        {
        LED=1;
        LED=0;
        while (1){}
        }

        這才是正確的。

        還有在sdcc中的一些細節寫法,比如說

        unsigned char Data;

        while (!ReadData()==Data){}

        這就是有錯的。因為在 sdcc中,你沒有把Data定義成signed char .所以他會報錯,說這個不是有符號位的。

        在sdcc的寫法是:(ReadData!=Data).

        好的。修改后通過編譯和燒寫的E51PRO源代碼在這里:EP5-SDCC-src.tar.bz2



        關鍵詞: EasyPro51編程器SDC

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 故城县| 古田县| 曲阜市| 安平县| 收藏| 梅州市| 浦江县| 澄江县| 汾西县| 科技| 翁牛特旗| 册亨县| 凤城市| 惠州市| 华蓥市| 顺昌县| 故城县| 保定市| 连云港市| 九龙县| 旅游| 织金县| 兴海县| 嘉祥县| 郴州市| 栾川县| 益阳市| 闻喜县| 瓮安县| 牡丹江市| 合作市| 陕西省| 华蓥市| 青铜峡市| 绥芬河市| 高密市| 平潭县| 咸丰县| 沙洋县| 来凤县| 铜鼓县|