基于STM32F103RBT6的MEM傳感器程序
單片機源碼如下:
- /*
- 實驗說明:讀LIS302DL傳感器X、Y、Z軸向寄存器
- 跳線配置:
- P2短接,同時保證PA4/5/6/7引腳不被其它資源占用
- */
- #include "stm32f10x.h"
- #include "lcd.h"
- #include "stdio.h"
- #include "main.h"
- #include "mems.h"
- #include "i2c.h"
- #include "math.h"
- u32 DelayTiming = 0;
- int main(void)
- {
- u8 str[20];
-
- u8 *ptr;
-
- SysTick_Config(SystemCoreClock/1000);
-
- STM3210B_LCD_Init();
- LCD_Clear(White);
- LCD_SetTextColor(White);
- LCD_SetBackColor(Blue);
- LCD_ClearLine(Line0);
- LCD_ClearLine(Line1);
- LCD_ClearLine(Line2);
- LCD_ClearLine(Line3);
- LCD_ClearLine(Line4);
- LCD_DisplayStringLine(Line1,(u8*)" MEMS DEMO ");
-
- i2c_init();
- LIS302DL_Config();
- //
- if(LIS302DL_Check() == 1)
- {
- LCD_DisplayStringLine(Line3, (u8 *)" MEMS STATUS: OK");
- }
- else
- {
- LCD_DisplayStringLine(Line3, (u8 *)" MEMS STATUS: ERROR");
- }
- LCD_SetTextColor(Blue);
- LCD_SetBackColor(White);
-
-
- while(1)
- {
- ptr = Lis302DL_Output();
-
- snprintf((char *)str, sizeof(str), " X Reg:%d ", ptr[0]);
- LCD_DisplayStringLine(Line6,str);
- snprintf((char *)str, sizeof(str), " Y Reg:%d ", ptr[1]);
- LCD_DisplayStringLine(Line7,str);
- snprintf((char *)str, sizeof(str), " Z Reg:%d ", ptr[2]);
- LCD_DisplayStringLine(Line8,str);
- Delay_Ms(200);
- }
- }
- //
- void Delay_Ms(u32 nTime)
- {
- DelayTiming = nTime;
- while(DelayTiming != 0);
- }
復制代碼
所有資料51hei提供下載:
5.MEME傳感器(LIS302DL).rar
(312.99 KB, 下載次數: 14)
2018-7-21 00:32 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|