顯示具有 Energia 標籤的文章。 顯示所有文章
顯示具有 Energia 標籤的文章。 顯示所有文章

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