2017年4月6日 星期四

Energia 筆記 (一) 使用 MSP430FR6989 LaunchPad

Energia 介紹

       Energia 是由  Robert Wessels於2012年1月開始的開放子原型平台,目的是將Arduino框架引入使用Texas Instruments MSP430的LaunchPad。Energia IDE是跨平台 Mac OS.Windows和Linux上都有支持。Energia使用Peter Bigot的  mspgcc  編譯器,Energia 包括整合開發環境(IDE),Energia 和 Arduino一樣是使用  Procssing 為基礎Energia也是可以在其他流行IDE中使用的便攜式框​​架/抽象層。也可以轉換  Energia 程式碼到 TI 的CCS IDE 
       新版的Energia 預設核心是MSP430 其他核心如 TivaC,CC3200,MSP432 可透過版子管理員安裝。

MSP430FR6989 LaunchPad 

     MSP-EXP430FR6989 LaunchPad 開發套件是使用 MSP40FR6989 微控制器 (MCU) 的易於使用的評估模塊 (EVM)。它包含在超低功耗 MSP430FRx FRAM 微控制器平台上開始開發所需要的全部資源,包括用於編程、調試和電能計量的板載仿真。該電路板具有可快速集成簡單用戶界面的板載按鈕和 LED,以及展示可驅動高達 320 段的集成驅動器的液晶顯示器 (LCD)。該電路板還提供對擴展掃描接口的直接訪問,該接口是為低功耗旋轉檢測創建的雙模擬前端 (AFE)。 MSP430FR6989 MCU採用 128 KB 的超低功耗嵌入式 FRAM(鐵電隨機存取存記憶體),FRAM是一種以超低功耗、高擦寫次數和高速寫入而聞名的非揮發性記憶體。

MSP-EXP430FR6989 特性 



使用 MSP ULP FRAM 的 MSP430FR6989 16 位 MCU

100 uA/MHz 開機模式和 350 nA 待機(具有 RTC 和 3.7 pF 晶體)
經ULPBench認證  得分 109
128KB FRAM
16 位元 RISC 架構,支持高達 8MHz 的 FRAM 讀取速度/16MHz 的系統時鐘速度
320 段 LCD 控制器
擴展掃描接口
16 通道 12 位元 ADC
比較器
5 個計時器
直接存儲器存取
256 位元 AES
83 個 GPIO
可用於超低功耗調試的 EnergyTrace++™ 技術
利用 BoosterPack 生態系統的 40 引腳 LaunchPad 標準
板載 eZ-FET 仿真
2 個按鈕和 2 個 LED,便於使用者互動

MSP-EXP430FR6989 LaunchPad  開箱




MSP-EXP430FR6989 LaunchPad  的背面


MSP-EXP430FR6989 LaunchPad  的接腳



Energia 下載安裝

到這裡下載最新版 Energia ,下載後直接解壓縮就好不用安裝

http://energia.nu/download/


MSP-EXP430FR6989 LaunchPad 與電腦連線,使用Win7 系統不需額外安裝驅動程式,裝置管理員會出現兩個COM , 上傳程式時要使用 MSP Application URAT1


MSP-EXP430FR6989 LaunchPad 通電時LCM會有展示程式


開啟下載解壓縮的Energia 檔案夾


執行Energia 



選擇目標板子與COM ,



開啟範例 >>01.Basics >> Blink


上傳程式 第一次上傳時Energia 會更新 MSP-EXP430FR6989 LaunchPad 的Boot load 會花費比較久的時間


上傳後就可看到板子上的LED1閃爍


Energia Blink 的程式碼
    
// most launchpads have a red LED
#define LED RED_LED

//see pins_energia.h for more LED definitions
//#define LED GREEN_LED
  
// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(LED, OUTPUT);     
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(LED, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);               // wait for a second
  digitalWrite(LED, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);               // wait for a second
}


     這一段程式碼跟Arduino幾乎一樣,差別在於LED並不是指定Pin腳Energia 的Pin定義可在這裡找到 \energia-1.6.10E18\hardware\energia\msp430\variants\MSP-EXP430FR6989LP


沒有留言:

張貼留言