久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: max30102+stm32f103單片機(jī)測試程序 [打印本頁]

作者: name1    時間: 2023-4-11 22:03
標(biāo)題: max30102+stm32f103單片機(jī)測試程序
帶簡單算法
STM32單片機(jī)源程序如下:
  1. #include "MAX30102.h"
  2. #include "systick.h"
  3. uint16_t fifo_red;
  4. uint16_t fifo_ir;
  5.        
  6. void MAX30102_GPIO(void)
  7. {       
  8.         RCC_APB2PeriphClockCmd(MAX30102_INTPin_CLK,ENABLE);
  9.         GPIO_InitTypeDef GPIO_InitStruct;
  10.         GPIO_InitStruct.GPIO_Mode                =        GPIO_Mode_IN_FLOATING;
  11.         GPIO_InitStruct.GPIO_Pin                =        MAX30102_INTPin_Pin;
  12.         GPIO_Init(MAX30102_INTPin_PORT,&GPIO_InitStruct);
  13.        
  14. }

  15. uint8_t Max30102_reset(void)
  16. {
  17.         if(IIC_Write_Byte(MAX30102_Device_address,REG_MODE_CONFIG, 0x40))
  18.         return 1;
  19.     else
  20.         return 0;   
  21. }

  22. void MAX30102_Config(void)
  23. {
  24.         IIC_Write_Byte(MAX30102_Device_address,REG_INTR_ENABLE_1,0xc0);//// INTR setting
  25.         IIC_Write_Byte(MAX30102_Device_address,REG_INTR_ENABLE_2,0x00);//
  26.         IIC_Write_Byte(MAX30102_Device_address,REG_FIFO_WR_PTR,0x00);//FIFO_WR_PTR[4:0]
  27.         IIC_Write_Byte(MAX30102_Device_address,REG_OVF_COUNTER,0x00);//OVF_COUNTER[4:0]
  28.         IIC_Write_Byte(MAX30102_Device_address,REG_FIFO_RD_PTR,0x00);//FIFO_RD_PTR[4:0]
  29.        
  30.         IIC_Write_Byte(MAX30102_Device_address,REG_FIFO_CONFIG,0x0f);//sample avg = 1, fifo rollover=false, fifo almost full = 17
  31.         IIC_Write_Byte(MAX30102_Device_address,REG_MODE_CONFIG,0x03);//0x02 for Red only, 0x03 for SpO2 mode 0x07 multimode LED
  32.         IIC_Write_Byte(MAX30102_Device_address,REG_SPO2_CONFIG,0x27);        // SPO2_ADC range = 4096nA, SPO2 sample rate (50 Hz), LED pulseWidth (400uS)  
  33.         IIC_Write_Byte(MAX30102_Device_address,REG_LED1_PA,0x32);//Choose value for ~ 10mA for LED1
  34.         IIC_Write_Byte(MAX30102_Device_address,REG_LED2_PA,0x32);// Choose value for ~ 10mA for LED2
  35.         IIC_Write_Byte(MAX30102_Device_address,REG_PILOT_PA,0x7f);// Choose value for ~ 25mA for Pilot LED
  36. }

  37. void max30102_read_fifo(void)
  38. {
  39.   uint16_t un_temp;
  40.   fifo_red=0;
  41.   fifo_ir=0;
  42.   uint8_t ach_i2c_data[6];
  43.   
  44.   //read and clear status register
  45.   IIC_Read_Byte(MAX30102_Device_address,REG_INTR_STATUS_1);
  46.   IIC_Read_Byte(MAX30102_Device_address,REG_INTR_STATUS_2);
  47.   
  48.   ach_i2c_data[0]=REG_FIFO_DATA;
  49.        
  50.         IIC_Read_Array(MAX30102_Device_address,REG_FIFO_DATA,ach_i2c_data,6);
  51.        
  52.   un_temp=ach_i2c_data[0];
  53.   un_temp<<=14;
  54.   fifo_red+=un_temp;
  55.   un_temp=ach_i2c_data[1];
  56.   un_temp<<=6;
  57.   fifo_red+=un_temp;
  58.   un_temp=ach_i2c_data[2];
  59.         un_temp>>=2;
  60.   fifo_red+=un_temp;
  61.   
  62.   un_temp=ach_i2c_data[3];
  63.   un_temp<<=14;
  64.   fifo_ir+=un_temp;
  65.   un_temp=ach_i2c_data[4];
  66.   un_temp<<=6;
  67.   fifo_ir+=un_temp;
  68.   un_temp=ach_i2c_data[5];
  69.         un_temp>>=2;
  70.   fifo_ir+=un_temp;
  71.        
  72.         if(fifo_ir<=10000)
  73.         {
  74.                 fifo_ir=0;
  75.         }
  76.         if(fifo_red<=10000)
  77.         {
  78.                 fifo_red=0;
  79.         }
  80. }


復(fù)制代碼
Keil代碼下載: stm32f103c8t6_MAX30102帶簡單算法.7z (2.17 MB, 下載次數(shù): 52)





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 91xxx在线观看 | 亚洲www| 在线一区二区三区 | 欧美综合在线观看 | 中文字幕日韩欧美一区二区三区 | 综合五月婷 | 一级毛片视频在线 | 夜夜操操操 | 高清欧美性猛交xxxx黑人猛交 | 成人九区| 国产精品久久777777 | 伦理片97 | 中文字幕一区二区三区在线乱码 | 亚洲一区中文字幕 | 午夜视频在线观看网址 | 国产精品成人一区二区三区夜夜夜 | 中文字幕第十一页 | 伊人一二三 | 国产午夜精品久久久 | 一级黄色片在线看 | 欧美成年网站 | 国产精品久久久久久久久免费软件 | 91伊人 | 久久er99热精品一区二区 | 成人日韩av | 久久婷婷国产麻豆91 | 8x国产精品视频一区二区 | 欧美久久久久久久久 | 亚洲国产高清在线观看 | 亚洲免费精品 | 国产精品日韩 | 国产美女在线看 | 中文字幕精品一区 | 国产精品久久久久久久久久久免费看 | 国产成人精品免费视频大全最热 | 一区二区三区欧美大片 | 欧洲精品在线观看 | av三级在线观看 | 国产高清视频一区二区 | 国产精品国产三级国产aⅴ无密码 | 亚洲国产精品一区二区第一页 |