首頁 > 評測 > 致我們逝去的飛思卡爾——FRDM-KL05Z評測

致我們逝去的飛思卡爾——FRDM-KL05Z評測

飛思卡爾   NXP   FRDM   KL05Z   M0      
  • 作者:Aries
  • 來源:21ic
  • [導(dǎo)讀]
  • NXP的FRDM-KL05Z開發(fā)套件的MCU使用ARM Cortex-M0+內(nèi)核,板載外設(shè)除了常見的RGB燈外,還提供了MMA8451Q加速度傳感器。簡潔是它的風(fēng)格,低價是它的目標(biāo),實用是它的內(nèi)涵!

圖11 查看OpenSDA版本

看到Application Version is:1.18,這是最新的固件版本了。從固件的修改日期看,最后修改日期是2015年12月4日,表明官方一直在維護(hù)著KL-05Z的相關(guān)代碼,并沒有棄之不顧!

這么老的板子,沒想到mbed居然支持該硬件平臺,可以在硬件平臺上找到FRDM-KL05Z的板子信息,mbed上對FRDM-KL05Z板子的參數(shù)有詳細(xì)的介紹,并給出快速入門指南,能共享其他開發(fā)者開發(fā)的教程。

12.jpg

圖12 ARMmbed 平臺介紹板子參數(shù)

將FRDM-KL05Z板子添加到自己的工程下,打開mbed 編譯器后可以看到工程代碼。

13.jpg

圖13 ARMmbed web IDE編輯器

以下是具體代碼,從宏定義可以看出,此套代碼適應(yīng)于KL25Z、KL46Z、KL05Z和K20D50M平臺,兼容性做得相當(dāng)不錯。通過讀取MMA8451三軸陀螺儀的數(shù)據(jù),改變RGB燈的顏色,從而實現(xiàn)改變板子的角度燈的顏色隨之改變的功能,并把數(shù)據(jù)通過串口打印出來。

#include "mbed.h"

#include "MMA8451Q.h"

#if defined (TARGET_KL25Z) || defined (TARGET_KL46Z)

PinName const SDA = PTE25;

PinName const SCL = PTE24;

#elif defined (TARGET_KL05Z)

PinName const SDA = PTB4;

PinName const SCL = PTB3;

#elif defined (TARGET_K20D50M)

PinName const SDA = PTB1;

PinName const SCL = PTB0;

#else

#error TARGET NOT DEFINED

#endif

#define MMA8451_I2C_ADDRESS (0x1d<<1)

int main(void)

{

MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS);

PwmOut rled(LED1);

PwmOut gled(LED2);

PwmOut bled(LED3);

printf("MMA8451 ID: %d\n", acc.getWhoAmI());

while (true) {

float x, y, z;

x = abs(acc.getAccX());

y = abs(acc.getAccY());

z = abs(acc.getAccZ());

rled = 1.0f - x;

gled = 1.0f - y;

bled = 1.0f - z;

wait(0.1f);

printf("X: %1.2f, Y: %1.2f, Z: %1.2f\n", x, y, z);

}

}

  • 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!

網(wǎng)友評論

  • 聯(lián)系人:巧克力娃娃
  • 郵箱:board@21ic.com
  • 我要投稿
  • 歡迎入駐,開放投稿

熱門標(biāo)簽
項目外包 more+