標(biāo)題: STM32F103RBT6 LIS302DL傳感器測(cè)試源碼 [打印本頁(yè)]

作者: 雪尼enjoy    時(shí)間: 2018-7-20 16:10
標(biāo)題: STM32F103RBT6 LIS302DL傳感器測(cè)試源碼
基于STM32F103RBT6的MEM傳感器程序

單片機(jī)源碼如下:
  1. /*
  2.         實(shí)驗(yàn)說(shuō)明:讀LIS302DL傳感器X、Y、Z軸向寄存器
  3.         跳線(xiàn)配置:
  4.                 P2短接,同時(shí)保證PA4/5/6/7引腳不被其它資源占用
  5. */

  6. #include "stm32f10x.h"
  7. #include "lcd.h"
  8. #include "stdio.h"
  9. #include "main.h"
  10. #include "mems.h"
  11. #include "i2c.h"
  12. #include "math.h"
  13. u32 DelayTiming = 0;

  14. int main(void)
  15. {
  16.         u8 str[20];
  17.         
  18.         u8 *ptr;
  19.                
  20.         SysTick_Config(SystemCoreClock/1000);
  21.         
  22.         STM3210B_LCD_Init();
  23.         LCD_Clear(White);

  24.         LCD_SetTextColor(White);
  25.         LCD_SetBackColor(Blue);

  26.         LCD_ClearLine(Line0);
  27.         LCD_ClearLine(Line1);
  28.         LCD_ClearLine(Line2);
  29.         LCD_ClearLine(Line3);
  30.         LCD_ClearLine(Line4);

  31.         LCD_DisplayStringLine(Line1,(u8*)"     MEMS DEMO      ");        
  32.         
  33.         i2c_init();
  34.         LIS302DL_Config();
  35.         //
  36.         if(LIS302DL_Check() == 1)
  37.         {
  38.                 LCD_DisplayStringLine(Line3, (u8 *)" MEMS STATUS: OK");
  39.         }
  40.         else
  41.         {
  42.                 LCD_DisplayStringLine(Line3, (u8 *)" MEMS STATUS: ERROR");                                
  43.         }

  44.         LCD_SetTextColor(Blue);
  45.         LCD_SetBackColor(White);
  46.         
  47.         
  48.         while(1)
  49.         {
  50.                 ptr = Lis302DL_Output();
  51.                                 
  52.                 snprintf((char *)str, sizeof(str), " X Reg:%d    ", ptr[0]);
  53.                 LCD_DisplayStringLine(Line6,str);
  54.                 snprintf((char *)str, sizeof(str), " Y Reg:%d    ", ptr[1]);
  55.                 LCD_DisplayStringLine(Line7,str);
  56.                 snprintf((char *)str, sizeof(str), " Z Reg:%d    ", ptr[2]);
  57.                 LCD_DisplayStringLine(Line8,str);        
  58.                 Delay_Ms(200);
  59.         }
  60. }

  61. //
  62. void Delay_Ms(u32 nTime)
  63. {
  64.         DelayTiming = nTime;

  65.         while(DelayTiming != 0);
  66. }
復(fù)制代碼

所有資料51hei提供下載:
5.MEME傳感器(LIS302DL).rar (312.99 KB, 下載次數(shù): 14)







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1