<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                * 導師視頻講解:[**去聽課**](https://www.bilibili.com/video/BV1k34y1D7Vz?p=32) >[success] **技術支持說明:** >**1**.一般以自主學習為主 > **2**.可到官方問答社區中提問:[**去提問**](https://bbs.csdn.net/forums/zigbee) > **3**.工程師**會盡快**解答社區問題,但他們是一線開發,【**難以保證**】解答時效,解答辛苦,感謝理解! <br/> 前面的章節講解了事件的應用,那么本節課利用事件機制來實現閃爍LED的效果。 <br/> ## **重定義LED的物理映射** 在hal_led.h文件中,重定義LED1的物理映射定義,代碼如下: ``` //LED1 #define LED1_BV BV(4) #define LED1_SBIT P0_4 #define LED1_DDR P0DIR #define LED1_POLARITY ACTIVE_HIGH ``` 因為配套的ZigBee開發板是把LED連接到P0\_4的,所以這里把LED1的引腳修改為P0_4。 <br/> ## **LED API的應用** 在講解OSAL的章節中,自定義了一個SAMPLEAPP_TEST_EVT事件,并且編寫了對應的事件處理代碼,本節課把事件處理代碼修改為閃爍LED。 ### 回到應用層,在zcl\_samplesw.c文件的事件處理函數zclSampleSw_event_loop()中修改自定義事件SAMPLEAPP_TEST_EVT的處理邏輯,代碼如下: ``` // 處理自定義的用戶事件:SAMPLEAPP_TEST_EVT if ( events & SAMPLEAPP_TEST_EVT ) { printf("Blink LED!\r\n"); HalLedBlink( HAL_LED_1,//指定第1盞LED 10,//指定閃爍次數是10次 50,//指定50%的時間LED是處于開啟狀態 1000);//指定1次閃爍的時間周期是1000ms //消除已經處理的事件,然后返回未處理的事件 return ( events ^ SAMPLEAPP_TEST_EVT ); } ``` <br/> ## **啟用LED宏定義** 前面章節曾經講到,需要用到哪些外設功能就去定義對應的宏,那么現在需要用到LED功能,也就是需要去定義LED功能對應的宏就可以了。右擊工程名字,然后選擇Options,打開工程配置,如圖所示。 ![](https://img.kancloud.cn/3d/c5/3dc5c4d20b25965149200123de85254b_698x524.png =500x) ### 在工程設置中選擇C/C++ Compiler→Preprocessor,在Defined symbols中添加HAL_LED=TRUE,然后點擊OK,如圖所示。 ![](https://img.kancloud.cn/75/82/758288e46cd028bb810050dfbd2a1e13_535x441.png =400x) <br/> ## **代碼測試** (1)使用配套的仿真器把ZigBee開發板連接到電腦上。 ### (2)點擊Download and Debug按鈕進行程序的編譯、鏈接和下載并進入仿真模式,如圖所示。 ![](https://img.kancloud.cn/5e/3f/5e3f0cd4d6b2acdd3b34a2cbee748297_698x398.png =500x) ### (3)進入仿真模式之后,點擊Go按鈕運行程序,如圖所示。 ![](https://img.kancloud.cn/97/7c/977c56326ad3c6f823fd947e14bd1d7c_310x100.png =300x) ### (4)程序運行后會在Terminal I/O窗口中輸出“Blink LED!”,如圖所示。 ![](https://img.kancloud.cn/ea/8c/ea8c8e6a81efb707aa51ac186ec80efd_297x359.png =300x) ### (5)與此同時,可以在ZigBee開發板中觀察到與P0_4連接的LED閃爍了10次。 <br/> <br/> ## **項目定制** * 如需項目定制開發,可掃碼添加項目經理好友(注明“**項目定制**”) * 定制范圍:**NB-IoT**、**CATn(4G)**、**WiFi**、**ZigBee**、**BLE Mesh**以及**STM32**、**嵌入式Linux**等IoT技術方案 * 善學坊官網:[www.sxf-iot.com](https://www.sxf-iot.com/) ![](https://img.kancloud.cn/ca/73/ca739f92cab220a3059378642e3bd502_430x430.png =200x) * 非項目定制**勿擾**,此處**非**技術支持
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看