99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

  • 1
    回復
  • 收藏
  • 點贊
  • 分享
  • 發新帖

【得捷之選】基礎功能測試——GPIO和外部中斷

      本次新建工程用于不同功能的測試,我們主要是要對板載的外設進行功能驗證:
一、新建一個工程
新建工程:

填寫工程名:

工程配置:
      在打開的對話框中,將Chip type設置為MAX78000,board type 設置為FTHR_RevA,以及CMSIS-DAP的適配器類型(直接選擇)。

      注意:新建好的例程是基于BOARD ?= EvKit_V1板子的,雖然咱們選擇了FTHR_RevA,編譯時還是要在Makefile文件里面改一下,兩個板子的硬件是有差異的。
      打開后縱觀看了一眼,居然沒有看到初始化程序,不過并不會影響我們的的編譯調試;通過層層的查找還是沒有看到初始化最終在哪里調用了,由于除了基礎功能包外已經重新封裝了一層,我們就不糾結了,盡情的進行應用設計吧。
      本工程是基于“Hello_World”進行的編譯的,里面的主要功能是LED和串口(printf)的測試,可以看到通過修改延時程序和LED觀察變化,同時通過打印信息如下:

二、按鍵功能測試
      SW1用戶可編程功能按鈕通過消碼器IC連接到MAX78000 0.2端口。
      SW2用戶可編程功能按鈕通過消碼器IC連接到MAX78000 1.7端口。
      板載的用戶按鍵有2個,我們測試使用一下,并結合到上述的新建工程那種。
原理圖如下:

      上圖可以看出按鍵按下是下降沿觸發,不過在進行中斷模式檢測按鍵的時候出現了一個大問題,先看一下調了半天的代碼:
/***** Definitions *****/
#define    SW1 0
#define SW2 1
/***** Globals *****/
int key_cnt = 0;
int key_cnt_old = 0xff;
/***** Functions *****/
void SW1_Callback()
{
    key_cnt++;
    printf("key1!\n");
//    PB_RegisterCallback(SW1, NULL);
}
void SW2_Callback()
{
    key_cnt--;
    printf("key2!\n");
//    PB_RegisterCallback(SW2, NULL);
}
// *****************************************************************************
int main(void)
{
    PB_RegisterCallback(SW1, SW1_Callback);
    PB_IntEnable(SW1);
    PB_RegisterCallback(SW2, SW2_Callback);
    PB_IntEnable(SW2);
 
    printf("Hello World!\n");
    while (1) {
        if(key_cnt != key_cnt_old) {
                LED_Off(LED_RED);
            LED_Off(LED_GREEN);
            LED_Off(LED_BLUE);
            switch(key_cnt%3) {
            case 0:
                LED_On(LED_RED);
                printf("LED_RED %d\n", key_cnt);
                break;
            case 1:
                LED_On(LED_GREEN);
                printf("LED_GREEN %d\n", key_cnt);
                break;
            case 2:
                LED_On(LED_BLUE);
                printf("LED_BLUE %d\n", key_cnt);
                break;
            default:
                break;
            }
            key_cnt_old = key_cnt;
        }
    }
}
      進行按鍵的基礎功能測試準備是通過按鍵SW1控制LED的變換(紅-綠-藍),SW2反向循環,為此創建了一個全局變量key_cnt,出現了一個非常奇葩的現象,就是外部中斷可以正常進入(通過斷點可以發現進入并修改了變量),但是主while里面對key_cnt的判斷確實一直為0,導致無法進入操作,為此嘗試了很多,最終是通過在while里面加了一個MXC_Delay(1)正常了,只是加了一個1微妙的延時,雖然解決了,可是還是不能理解。
      串口接收如下(正常后):

精彩視頻分享:

串口接收情況(GPIO和外部中斷測試)

 

GPIO和外部中斷測試效果展示

 

全部回復(1)
正序查看
倒序查看
2024-04-30 15:15

本帖的MAX78000FTHR, 得捷官網購買連接如下:

https://www.digikey.cn/zh/products/detail/analog-devices-inc-maxim-integrated/MAX78000FTHR/13549063?WT.z_header=search_go&s=N4IgTCBcDaILIEEAaB2AHABiwMQCoAkAlEAXQF8g

關于購買有任何問題,大家可以隨時聯系我哦(微信:18522870362)

0
回復
主站蜘蛛池模板: 久久久精品影视 | 美女大量吞精在线观看456 | 18勿看免费大片1000拍拍 | 成人综合色站 | 成人h动漫无码网站久久 | 这里只有精品免费 | 亚洲破处av | 99国产观看免费视频 | 色5566| 一级黄色a毛片 | 曰本A级毛片无卡免费视频 久久热这里只有精品在线观看 | www日本tv | 久热精品在线播放 | 成人片在线看 | 国产精品免费视频二三区 | 日本三级吃奶头添泬 | 一女三男做2爱A片免费 | 亚洲综合欧美色五月俺也去 | 国产大陆亚洲精品国产 | 九一视频国产 | 久精品久久 | 国产四区 | 一区二区免费在线观看视频 | 天天做天天爱天天爽综合网 | 无码一区二区三区在线观看 | 国产偷久久一级精品av小说 | 在线观看国产中文字幕 | 一级黄色a毛片 | 国产专区免费av无码 | 麻豆国产一区二区三区 | 久久狠狠中文字幕2017 | 五月天国产成人av免费观看 | 在线观看黄免费 | 成人免费视频软件网站 | 色婷婷五月综合激情中文字幕 | 91国偷自产一区二区三区蜜臀 | 亚洲国产精品va在线看黑人动漫 | 免费av毛片不卡无码 | 久久这里只有精品18 | 99在线在线视频免费视频观看 | 亚洲一区欧美一区 |