• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 自學Cortex-M3(2):按鍵實驗

    自學Cortex-M3(2):按鍵實驗

    作者: 時間:2012-07-04 來源:網絡 收藏

    有輸出總會有輸入,今天測試一下的功能,第一節已經說過了與GPIO端口相關的寄存器,這里不在重復,想要從端口讀取數據,首先把FIODIR這個寄存器設置為輸入,再從FIOPIN寄存器讀取數據就可以了,這個寄存器具有讀寫功能。下面說一下這個的電路圖,如下所示:

    本文引用地址:http://www.czjhyjcfj.com/article/148807.htm

    圖1 JoySTick連線圖

      關于電路還有一個,不過是接在外部中斷0 上的,其電路圖如下圖所示:

      這次沒有涉及到外部中斷,都是做普通的IO輸入使用的,所以在這里外部中斷就做學習總結了。下面給出這次的主程序:

      /*********************************************************************************

      文件名稱:mian.c

      功 能: 主要調度函數及應用函數

      編譯環境: MDKV4.12

      時 鐘: 外部12Mhz

      日 期: 11/08/16

      作 者: 懶貓愛飛

      備 注:NULL

      ---------------------------------------------------------------------------------

      修改內容:NULL

      修改日期:XXXX年xx月xx日 xx時xx分

      修改人員:xxx xxx xxx

      **********************************************************************************/

      #includemain.h

      volatile unsigned lONg SysTickCnt; /* 用于系統時鐘計數*/

      /********************************************************************************

      * 函數名稱:void SysTick_Handler (void)

      * 函數功能: 系統節拍定時器中斷函數,每1ms計數一次

      * 入口參數: 無

      * 出口參數: 無

      * 備 注:無

      *******************************************************************************/

      void SysTick_Handler (void)

      {

      SysTickCnt++;

      }

      /********************************************************************************

      * 函數名稱:void Delay (unsigned long tick)

      * 函數功能: 毫秒級延時函數

      * 入口參數: unsigned long tick -- 延時時長

      * 出口參數: 無

      * 備 注:無

      *******************************************************************************/

      void DelayMs (unsigned long tick)

      {

      unsigned long systickcnt;

      systickcnt = SysTickCnt;

      while ((SysTickCnt - systickcnt) tick);

      }

      /********************************************************************************

      * 函數名稱:void PortInit(void)

      * 函數功能: 端口初始化

      * 入口參數: 無

      * 出口參數: 無

      * 備 注:無

      *******************************************************************************/

      void PortInit(void)

      {

      GPIO1->FIODIR = 0xB0000000; /* LEDs on PORT1 defined as Output */

      GPIO2->FIODIR = 0x0000007C; /* LEDs on PORT2 defined as Output */

      LedAllOff(); /* 初始化時熄滅所有的燈*/

      }


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 亳州市| 额尔古纳市| 琼中| 鄂伦春自治旗| 安顺市| 化隆| 米林县| 姜堰市| 青龙| 大邑县| 叶城县| 封丘县| 曲周县| 蒲江县| 东源县| 驻马店市| 高碑店市| 昭平县| 贡嘎县| 平谷区| 合水县| 巴林左旗| 津市市| 鄯善县| 乌审旗| 霞浦县| 宜都市| 偃师市| 肥西县| 新郑市| 侯马市| 清涧县| 湖口县| 克拉玛依市| 昌黎县| 马鞍山市| 建水县| 左权县| 满洲里市| 安阳市| 枞阳县|