在线时间179 小时
UID2080131
注册时间2015-4-29
NXP金币0
TA的每日心情 | 开心 2019-8-22 10:34 |
---|
签到天数: 34 天 [LV.5]常住居民I
高级会员
- 积分
- 907
- 最后登录
- 2020-8-3
|
Mbed开发平台可谓简单快捷,于是决定使用它来进行对MMA8541加速度的采集和显示。
在编辑自己的工程前,需首先导入Adafruit_GFX库,它是用来驱动SSD1306 OLED的,接下来导入MMA8451Q库。接下来就可以使用Mbed建立和编辑自己的工程了。
OLED显示:
串口打印输出:
工程源码:
- #include "mbed.h"
- #include "Adafruit_SSD1306.h"
- #include "MMA8451Q.h"
- //MMA8451Q definiation
- #define SDA PTE25
- #define SCL PTE24
-
- /*
- OLED ------ KL25z
- mosi/D0 D13
- sck/D1 D11
- CS D8
- DC D9
- RST D10
- */
- #define DO D13
- #define DI D11
- #define CS D8
- #define DC D9
- #define RST D10
- // an SPI sub-class that provides a constructed default
- class SPIPreInit : public SPI
- {
- public:
- SPIPreInit(PinName mosi, PinName miso, PinName clk) : SPI(mosi,miso,clk) {
- format(8,3);
- frequency(2000000);
- };
- };
- SPIPreInit mySpi(DI,NC,DO);
- Adafruit_SSD1306_Spi oled(mySpi,DC,RST,CS,64,128);
- DigitalOut myled(LED2);
- Serial pc(USBTX,USBRX);
- int16_t data[3];
- int main()
- {
-
- MMA8451Q acc(SDA, SCL);
- oled.clearDisplay();
- oled.printf("MMA8451 Test\r\n");
-
- while(1)
- {
- myled = 1;
- wait(0.5);
- myled = 0;
- wait(0.5);
-
- acc.getAccAllAxis(data);
-
- pc.printf("%d %d %d \r\n",data[0],data[1],data[2]);
- oled.setTextCursor(0,17);
- oled.printf("%d %d %d",data[0],data[1],data[2],oled.width(),oled.height());
- oled.display();
- }
-
- }
复制代码 接下来需要进行的工作是对数据进行分析和处理。
|
|