日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CC1310学习——点灯

發布時間:2024/3/26 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CC1310学习——点灯 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

CC1310點燈記錄

  • 前言
  • 操作
    • 1.導入示例代碼
      • 1.1導入步驟
      • 1.2導入步驟圖示
    • 2.編譯示例代碼
    • 3.修改示例代碼
      • 3.1修改芯片參數
        • 3.1.1修改芯片型號
        • 3.1.2修改映射文件
      • 3.2修改原本外設對應IO
      • 3.3修改硬件LED IO

前言

本篇記錄描述的是如何基于示例工程修改為空白模板,并完成點燈操作,CCS自建工程使用方法暫未摸透。

操作

大致步驟如下:
1. 導入示例代碼
2. 編譯示例代碼
3. 修改芯片參數(型號、FLASH、RAM)
4. 修改相關多余外設配置
5. 修改實際硬件LED IO口

1.導入示例代碼

1.1導入步驟

  • 點擊File->import

  • 在彈出的串口中選擇CCS Projects,點擊Next

  • 選擇示例路徑

  • 選擇CCS編譯器版本導入

  • Finish完成導入
    示例路徑在CCS安裝路徑下,以下路徑供參考D:\CCS\simplelink_cc13x0_sdk_4_20_02_07\examples\nortos\CC1310_LAUNCHXL\drivers
    其中simplelink_cc13x0_sdk_4_20_02_07需要下載安裝,具體安裝方式忘記錄

1.2導入步驟圖示




導入完示例工程結構如圖

2.編譯示例代碼

編譯步驟:

  • 選中示例(示例后有Active - Debug)

  • 點擊小錘子進行編譯

  • 在控制臺查看編譯結果

3.修改示例代碼

由于示例代碼是基于CC1310F128芯片下的開發板,所以需要修改芯片以及外設配置,需要修改的內容如下:

  • targetConfigs文件下是芯片配置文件,此時點開可見為CC1310F128.ccxml,需修改
  • CC1310_LAUNCHXL_NoRTOS.cmd是功能芯片內存映射文件,其中包括FALSH、RAM大小,需修改
  • 原工程配置了LED等外設,IO與實際電路不同,需修改

修改前工程配置如圖

3.1修改芯片參數

3.1.1修改芯片型號

  • 右鍵工程文件夾,選擇Properties

  • 點擊General,芯片Core選擇CC1310F64

  • 點擊應用并關閉
    修改芯片型號圖示

3.1.2修改映射文件

雙擊cmd文件修改FLASH、RAM大小如下并保存

#define FLASH_BASE 0x0 #define FLASH_SIZE 0x10000 #define RAM_BASE 0x20000000 #define RAM_SIZE 0x4000


編譯一下,依舊無報錯

修改后如圖

3.2修改原本外設對應IO

首先打開主函數瀏覽一遍,發現只有Board_init、mainThread函數是可以跳轉(按住Ctrl鼠標點擊)并編輯的

/** ======== main ========*/ int main(void){ /* Call driver init functions */ Board_init(); /* Start NoRTOS */ NoRTOS_start(); /* Call mainThread function */ mainThread(NULL); while (1) {} }

Board_init函數如下

/** ======== Board_init ========*/ void Board_init(void){ CC1310_LAUNCHXL_initGeneral(); } /* 然后調用以下函數*/ /** ======== CC1310_LAUNCHXL_initGeneral ========*/ void CC1310_LAUNCHXL_initGeneral(void){Power_init(); if (PIN_init(BoardGpioInitTable) != PIN_SUCCESS) { /* Error with PIN_init */ while (1); } /* Perform board-specific initialization */ Board_initHook(); }

其中Power_init()函數不可編輯,必須調用,BoardGpioInitTable 是引腳定義可以編輯修改,跳轉如下

/** =============================== PIN ===============================*/ #include <ti/drivers/PIN.h> #include <ti/drivers/pin/PINCC26XX.h> const PIN_Config BoardGpioInitTable[] = { CC1310_LAUNCHXL_PIN_RLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, /* LED initially off */ CC1310_LAUNCHXL_PIN_GLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX, /* LED initially off */ CC1310_LAUNCHXL_PIN_BTN1 | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_BOTHEDGES | PIN_HYSTERESIS, /* Button is active low */ CC1310_LAUNCHXL_PIN_BTN2 | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_BOTHEDGES | PIN_HYSTERESIS, /* Button is active low */CC1310_LAUNCHXL_SPI_FLASH_CS | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL | PIN_DRVSTR_MIN, /* External flash chip select */ CC1310_LAUNCHXL_UART_RX | PIN_INPUT_EN | PIN_PULLDOWN, /* UART RX via debugger back channel */ CC1310_LAUNCHXL_UART_TX | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL, /* UART TX via debugger back channel */ CC1310_LAUNCHXL_SPI0_MOSI | PIN_INPUT_EN | PIN_PULLDOWN, /* SPI master out - slave in */ CC1310_LAUNCHXL_SPI0_MISO | PIN_INPUT_EN | PIN_PULLDOWN, /* SPI master in - slave out */ CC1310_LAUNCHXL_SPI0_CLK | PIN_INPUT_EN | PIN_PULLDOWN, /* SPI clock */ PIN_TERMINATE };

按照實際需求修改LED引腳即可

  • 點擊CC1310_LAUNCHXL_PIN_RLED跳轉到.h下修改LED引腳
  • 根據需求注釋已初始化PIN,此處只需點燈,因此全部注釋
  • 按照示例新增LED引腳初始化配置


回到Board_init,Board_initHook函數是外部flash初始化配置,用不上,直接注釋

編譯后報錯,雙擊報錯跳轉

發現是PWM綁定的LED被注釋了,改成未使用即可

重新編譯,無報錯

接下來進入"主函數",CCS中真正主函數名稱為mainThread(null),其中包括了GPIO初始化 ,GPIO設置等,這和之前的BoardGpioInitTable不一樣,前者是IO定義以及聲明,此處的GPIO_init才是正式初始化操作,但內部實現無法查看

/* Call mainThread function */ mainThread(NULL);

mainThread示例如下:

/** ======== mainThread ========*/ void *mainThread(void *arg0){ /* Call driver init functions */ GPIO_init(); /* Configure the LED and button pins */ GPIO_setConfig(Board_GPIO_LED0, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW); GPIO_setConfig(Board_GPIO_LED1, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW); GPIO_setConfig(Board_GPIO_BUTTON0, GPIO_CFG_IN_PU | GPIO_CFG_IN_INT_FALLING); /* Turn on user LED */ GPIO_write(Board_GPIO_LED0, Board_GPIO_LED_ON); /* install Button callback */ GPIO_setCallback(Board_GPIO_BUTTON0, gpioButtonFxn0); /* Enable interrupts */ GPIO_enableInt(Board_GPIO_BUTTON0); /** If more than one input pin is available for your device, interrupts will be enabled on Board_GPIO_BUTTON1.**/ if (Board_GPIO_BUTTON0 != Board_GPIO_BUTTON1) { /* Configure BUTTON1 pin */ GPIO_setConfig(Board_GPIO_BUTTON1, GPIO_CFG_IN_PU | GPIO_CFG_IN_INT_FALLING); /* Install Button callback */ GPIO_setCallback(Board_GPIO_BUTTON1, gpioButtonFxn1); GPIO_enableInt(Board_GPIO_BUTTON1); } return (NULL); }

該示例是配置了LED和按鍵,當兩個按鍵按下其中一個時觸發對應的回調函數,讓分別對應的LED翻轉電平,因此我們點燈只需要設置引腳模式,再寫電平即可,修改后“主函數”如下

但由于此處IO口不是我們需要的,因此點擊 Board_GPIO_LED0 跳轉到Board.h新增一個Board_GPIO_RUNLED或者自己按格式命名,

再繼續點擊CC1310_LAUNCHXL_GPIO_LED_RED跳轉,修改枚舉CC1310_LAUNCHXL_GPIOName,兩處修改如下圖,注意最底下的CC1310_LAUNCHXL_GPIOCOUNT不可刪除或注釋,在其他文件中有調用,用于初始化IO數量

再回到“主函數”修改參數,如下圖

編譯查看是否正常

點擊報錯進行跳轉,發現是定義的LCD等、SPI_CS、SDSPI_CS引腳被我們注釋了由于這些是普通IO,不是功能模組映射,所以不能去CC1310_LAUNCHXL.h修改宏,直接注釋相關代碼,如下圖


完成后編譯一下有報錯,發現是主函數中按鍵回調函數的IO未定義,雙擊跳轉

用不到,直接注釋再次編譯無報錯


OK,到這里原本導入的工程已經修改為通用空白模板了,但是還不是完全十分規范的空模板,比如CC1310_LAUNCHXL.h中還是定義了有一個LCD屏幕、有一個SD等等,但是不影響我們點燈操作。

3.3修改硬件LED IO

但此時燒錄肯定是不會亮燈的,原因是我們只定義IO初始化表,只聲明了有一個IO想用來控制LED,但沒配置具體是那個IO口,所以要去CC1310_LAUNCHXL.c中配置LED對應的IO口,找到gpioPinConfigs,修改如下之后編譯,點擊FLASH即可燒錄,如圖燒錄完后就可看到板子上的LED亮了。

總結

以上是生活随笔為你收集整理的CC1310学习——点灯的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天天舔天天爽 | 久久免费看少妇高潮v片特黄 | 欧美黄色小说 | 屁屁影院一区二区三区 | 欧美 日韩 中文字幕 | 精品黑人一区二区三区久久 | 国产高清在线精品 | 国产在线a视频 | 亚洲精品电影 | 久久久综合久久 | 狠狠干精品 | 国产深喉视频一区二区 | 成人av资源在线 | 美女扒开腿让人桶爽原神 | av老司机久久 | 人人草人人爱 | 成人小网站 | 成人做爰www免费看视频网站 | 欧洲性猛交| 成人免费在线播放视频 | 精品国产欧美一区二区 | 综合婷婷 | 成年人网站黄 | 国产精品一二三四五 | 亚洲你懂得| 亚洲午夜免费视频 | 欧美人妖老妇 | 一区二区三区在线视频播放 | 国产午夜手机精彩视频 | 亚洲黄色大片 | 亲嘴扒胸摸屁股免费视频日本网站 | 欧美黄色录像片 | 激情导航 | 超碰av在线 | 香蕉av在线播放 | 国产精品成人久久久久 | 欧美顶级少妇做爰hd | 疯狂撞击丝袜人妻 | 91麻豆一区二区 | 四虎免费视频 | 逼特逼视频在线观看 | xxxxx69| 毛片基地免费 | 精品美女久久久久 | 国产精品1234区 | 在线播放色 | 国产剧情一区 | 风韵少妇性饥渴推油按摩视频 | 自慰无码一区二区三区 | 韩日午夜在线资源一区二区 | 日韩成人自拍 | 30一40一50女人毛片 | 激情视频网址 | 精品视频一区二区三区四区五区 | 国产乱码精品一区二区三区中文 | 日韩视频免费在线播放 | 日韩精品1区2区 | 丰满白嫩尤物一区二区 | 大地资源二中文在线影视免费观看 | 黄色片国产 | 特级性生活片 | 国产精品国产三级国产Av车上的 | 久久久国产亚洲 | 少妇不卡视频 | 在线免费激情视频 | 欧美a级成人淫片免费看 | 欧美成人精品一区二区三区在线观看 | 蜜臀久久99精品久久久画质超高清 | 国产69久久 | 亚洲黄色三级视频 | 成人精品一区二区三区电影黑人 | 久久亚洲视频 | 久久国产亚洲精品无码 | 小嫩嫩精品导航 | 亚洲精品色午夜无码专区日韩 | 69久久成人精品 | 精品国产乱码久久久久久蜜臀 | 97免费人妻无码视频 | 激情小视频 | 日本老妇高潮乱hd | 久久免费精彩视频 | 国产调教一区 | 无码人妻丰满熟妇啪啪网站 | 国产精品久久久久久久久免费相片 | 国产精品视频第一页 | 中日韩精品视频在线观看 | 五月天色小说 | 欧美一级色 | 熟女毛片 | 国产自偷自拍 | 污视频网站免费在线观看 | 日本黄网在线观看 | 亚洲特级毛片 | 成人av电影网站 | 波多野结衣中文字幕在线 | 粉嫩av四季av绯色av | 人人妻人人爽人人澡人人精品 | 国产成人8x视频一区二区 | 国产精品久久久亚洲 |