<th id="alkcr"><pre id="alkcr"></pre></th>

  • 打印

    [8/16位單片機] 【8月曬板卡】+ 重新建立樣例

    [復制鏈接]
    399|5
    跳轉到指定樓層
    樓主
    本帖最后由 hu9jj 于 2019-10-2 12:02 編輯

        在添加、修改了一些代碼之后,原來的項目編譯出錯,但又找不出原因,只好重新建立項目,這次建立了一個僅開通了按鍵(PF6)和LED燈(PF5)再加上延時函數的項目,準備在此基礎上穩扎穩打,每修改一處就試編譯看能否通過,否則立即撤消,每完成一步就壓縮保存以備隨時恢復。
        原來的項目出錯主要是數據類型的宏定義出錯,我又沒有改動代碼,但數據類型的宏定義uint8_t卻提示“無法解析的標識符”。



        我嘗試將數據類型修改成可以解析的int后,這些提示消失了,但代碼編譯卻出錯了。



        為了方便大家測試,現將項目代碼打包上傳:

    example_1.X.rar (82.93 KB, 下載次數: 2)



    使用特權

    評論回復
    沙發
     樓主 | 2019-10-2 15:49 | 只看該作者
        我在測試的主循環中利用系統提供的延時,每隔100毫秒切換一次LED的狀態,然后再加上自己編寫的延時代碼,卻無論如何調整延時參數,延時都似乎不起作用,不知是何原因。



        增加的延時代碼如下,我設立了三重循環,每重循環為60000次,按理說能夠有延時作用吧,可是實際上LED燈閃爍的頻率卻無明顯的變化,有興趣的壇友幫忙分析測試一下,看有沒有延時的效果。
    1. int main(void)
    2. {
    3.     /* Initializes MCU, drivers and middleware */
    4.     SYSTEM_Initialize();
    5. s    /* Replace with your application code */
    6.     while (1){
    7.         IO_PF5_Toggle();
    8.         DELAY_milliseconds(100);
    9.         delay_ms(60000);  //參數從100到60000測試
    10.     }
    11. }

    12. void delay_ms(uint16_t ms)
    13. {
    14.     uint16_t i,j,k;
    15.    
    16.     for(i=ms; i>0; i--){
    17.         for(j=60000; j >0; j--){
    18.             for(k=60000;k>0;k--);
    19.         }
    20.     }
    21. }
    復制代碼



    使用特權

    評論回復

    評論

    lihui567 2019-10-4 12:22 回復TA
    不錯,非常詳細 
    板凳
     樓主 | 2019-10-2 16:39 | 只看該作者
        我嘗試在MCC中添加了I2C EEPROM代碼,結果編譯出錯,到MCC中刪除了這個選擇,重新生成代碼,編譯仍然出錯,此時,我的壓縮備份就起作用了,解壓縮后又可以在上一步基礎上進行測試了。



    使用特權

    評論回復
    地板
    | 2019-10-4 12:02 | 只看該作者
    推一下

    使用特權

    評論回復
    5
    | 2019-10-5 12:23 | 只看該作者
    非常六六六。

    使用特權

    評論回復
    掃描二維碼,隨時隨地手機跟帖
    您需要登錄后才可以回帖 登錄 | 注冊

    本版積分規則

    我要發帖 投訴建議 創建版塊 申請版主

    快速回復

    您需要登錄后才可以回帖
    登錄 | 注冊
    高級模式

    論壇熱帖

    在線客服 快速回復 返回頂部 返回列表
    成人短片线上看