本文介绍了利用ADXL345中断唤醒停止模式下的STM32F103C8T6,为进一步开发计步器做准备。
从上位机串口通讯记录了整个过程, 代码中有关OLED显示屏可以不接。
1. ADXL345寄存器, 有好多,为了观察明显,这里设置了ACTIVITY和INACTIVITY模式,都能触发INT2:(ADXL345.c)
Single_Write_ADXL345(THRESH_ACT,0x20); //检测活动的阈值为2g时产生中断,认为是开始活动了
Single_Write_ADXL345(THRESH_INACT,0x01); //0.1875g,小于它,就认为是不活动
Single_Write_ADXL345(TIME_INACT,0x02); //不活动2秒,就认为是不活动中断触发
Single_Write_ADXL345(ACT_INACT_CTL,0xEE); //使能X、Y、Z三轴的Activity和Inactivity功能
Single_Write_ADXL345(INT_MAP,0x18); //00011000, Activity和Inactivity 活动都映射到INT2 Single_Write_ADXL345(INT_ENABLE,0x18); //80 DATA_READY中断开启, 10 Activity 08 inactivity
2. 观察中断是哪个活动触发的:访问寄存器:INT_SOURCE (main.c)
printf("\r\n INT_SOURCE: 0X30= %lX After Read\r\n", Single_Read_ADX
STM32+ADXL计步器(中断唤醒+串口调试)
最新推荐文章于 2024-07-23 00:21:23 发布
本文通过STM32F103C8T6和ADXL345传感器,实现计步器功能。利用ADXL345中断唤醒停机模式,通过串口记录中断源和数据,中断由ACTIVITY触发,主循环读取数据计算步数。
摘要由CSDN通过智能技术生成