当前位置: 首页 > news >正文

如何用服务器搭建自己的网站所有网站302跳转百度

如何用服务器搭建自己的网站,所有网站302跳转百度,办公室装修注意事项及细节,自学建百度首页网站STM32HAL库驱动ADXL345传感器#xff08;SPI协议#xff09; ADXL345传感器简介实物STM32CubeMX配置SPI配置片选引脚配置串口配置 特别注意#xff08;重点部分#xff09;核心代码效果展示 ADXL345传感器简介 ADXL345 是 ADI 公司推出的基于 iMEMS 技术的 3 轴、数字输出加… STM32HAL库驱动ADXL345传感器SPI协议 ADXL345传感器简介实物STM32CubeMX配置SPI配置片选引脚配置串口配置 特别注意重点部分核心代码效果展示 ADXL345传感器简介 ADXL345 是 ADI 公司推出的基于 iMEMS 技术的 3 轴、数字输出加速度传感器。该加速度传感器的特点有 a. 分辨率高。最高 13 位分辨率。 b. 量程可变。具有/-2g /-4g /-8g /-16g 可变的测量范围。 c. 灵敏度高。最高达 3.9mg/LSB能测量不到 1.0°的倾斜角度变化。 d. 功耗低。 40~145uA 的超低功耗待机模式只有 0.1uA。 e. 尺寸小。整个 IC 尺寸只有 3mm5mm1mm LGA 封装。 ADXL 支持标准的 I2C 或 SPI 数字接口自带 32 级 FIFO 存储并且内部有多种运动状态检测和灵活的中断方式等特性。 引脚如下所示 实物 使用的是STM32F103ZET6单片机使用了SPI2 主要接线为CS接PB6;SCL接PB13;SDA接PB15;SDO接PB14。 STM32CubeMX配置 使用的是STM32F103ZET6单片机使用SPI2通过串口进行数据显示 时钟配置如下 SPI配置 使用硬件SPI根据ADXL345的SPI时序图选择SPI的模式3片选使用软件片选 片选引脚配置 片选使用的是PB6引脚 串口配置 特别注意重点部分 1.模块默认使用IIC通信如果需要使用四线SPI通信需要将模块的R4电阻取掉如果不取就抓不到时序。原因如下图所示 模块将芯片的SDO引脚通过R4电阻直接连接到GND如果不把R4电阻取掉接线上去读时序是读不到信号的。 2.对于SPI采集需要注意一下有的MCU会把SPI1的SCK引脚用作调试引脚导致使用逻辑分析仪抓取波形的时候SCK引脚一直处于拉高状态解决方案A.将SCK引脚重映射去其他引脚B.换一组SPI 核心代码 ADXL345.C的代码 #include ADXL345.h #include spi.h #include stdio.h /** 作者PrairieOne* csdnPrairieOne* 邮箱prairieone1024163.com* 嵌入式技术交流群826251093*/ #define SET_SPI_CS_H HAL_GPIO_WritePin(SPI1_CS_GPIO_Port,SPI1_CS_Pin,GPIO_PIN_SET); #define SET_SPI_CS_L HAL_GPIO_WritePin(SPI1_CS_GPIO_Port,SPI1_CS_Pin,GPIO_PIN_RESET);//写字节 void ADXL345_Write(uint8_t addr, uint8_t value) {addr 0x3F;SET_SPI_CS_L;HAL_SPI_Transmit(hspi2, addr, 1, 10);HAL_SPI_Transmit(hspi2, value, 1, 10);SET_SPI_CS_H; } //读字节 void ADXL345_Rread(uint8_t addr, uint8_t *value) {addr 0x3F; addr | (0x80);SET_SPI_CS_L;HAL_SPI_Transmit(hspi2, addr, 1, 10);HAL_SPI_Receive(hspi2, value, 1, 10);SET_SPI_CS_H; }//读ID uint8_t Get_Adxl345_ID(void) {uint8_t DEVICEID 0x00;uint8_t result 0;ADXL345_Rread(DEVICEID, result);return result; } //初始化 void ADXL345_Init(void) {while (Get_Adxl345_ID() ! 0xE5)//e5{printf(ADXL345 Init Fail:%x\r\n, Get_Adxl345_ID());HAL_Delay(1000);}ADXL345_Write(INT_ENABLE, 0x00);ADXL345_Write(DATA_FORMAT, 0x0B);ADXL345_Write(BW_RATE, 0x1A);ADXL345_Write(POWER_CTL, 0x08);ADXL345_Write(INT_ENABLE, 0x14);printf(ADXL345 Init Success\r\n); } //读取X轴数据 void ADXL345_XTest(void) {short x;uint8_t addrxl 0x32;uint8_t addrxh 0x33;uint8_t xl, xh;ADXL345_Rread(addrxl, xl);ADXL345_Rread(addrxh, xh);x (short)(((uint16_t)xh 8) xl);printf(X:%d\r\n, x); }//读取Y轴数据 void ADXL345_YTest(void) {short Y;uint8_t addrYl 0x34;uint8_t addrYh 0x35;uint8_t Yl, Yh;ADXL345_Rread(addrYl, Yl);ADXL345_Rread(addrYh, Yh);Y (short)(((uint16_t)Yh 8) Yl);printf(Y:%d\r\n, Y); } //读取Z轴数据 void ADXL345_ZTest(void) {short Z;uint8_t addrZl 0x34;uint8_t addrZh 0x35;uint8_t Zl, Zh;ADXL345_Rread(addrZl, Zl);ADXL345_Rread(addrZh, Zh);Z (short)(((uint16_t)Zh 8) Zl);printf(Z:%d\r\n, Z); } ADXL345.H的代码 #ifndef ADXL345_H_ #define ADXL345_H_#include main.h /** 作者PrairieOne* csdnPrairieOne* 邮箱prairieone1024163.com* 嵌入式技术交流群826251093*//******************ADXL345寄存器命令定义**********************/ #define DEVICE_ID 0X00 //获取器件ID,0XE5 #define THRESH_TAP 0X1D //敲击阀值 #define OFSX 0X1E //x轴调整偏移值 #define OFSY 0X1F #define OFSZ 0X20 #define DUR 0X21 #define Latent 0X22 #define Window 0X23 #define THRESH_ACK 0X24 #define THRESH_INACT 0X25 #define TIME_INACT 0X26 #define ACT_INACT_CTL 0X27 #define THRESH_FF 0X28 #define TIME_FF 0X29 #define TAP_AXES 0X2A #define ACT_TAP_STATUS 0X2B #define BW_RATE 0X2C #define POWER_CTL 0X2D#define INT_ENABLE 0X2E #define INT_MAP 0X2F #define INT_SOURCE 0X30 #define DATA_FORMAT 0X31 #define DATA_X0 0X32 #define DATA_X1 0X33 #define DATA_Y0 0X34 #define DATA_Y1 0X35 #define DATA_Z0 0X36 #define DATA_Z1 0X37 #define FIFO_CTL 0X38 #define FIFO_STATUS 0X39#define I_M_DEVID ((uint8_t)0xE5) //器件ID0XE5//初始化 void ADXL345_Init(void); //读取X轴数据 void ADXL345_XTest(void); //读取Y轴数据 void ADXL345_YTest(void); //读取Z轴数据 void ADXL345_ZTest(void); #endif /* ADXL345_H_ */ main的代码 /** 作者PrairieOne* csdnPrairieOne* 邮箱prairieone1024163.com* 嵌入式技术交流群826251093*/ int main(void) {/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_USART1_UART_Init();MX_SPI2_Init();/* USER CODE BEGIN 2 */HAL_UART_Receive_IT(huart1, (uint8_t *)aRxBuffer, 1);/* USER CODE END 2 */ADXL345_Init(); /* Infinite loop *//* USER CODE BEGIN WHILE */while (1){ //读取X轴数据ADXL345_XTest();//读取Y轴数据ADXL345_YTest();//读取Z轴数据ADXL345_ZTest();HAL_Delay(1000);/* USER CODE END WHILE *//* USER CODE BEGIN 3 */}/* USER CODE END 3 */ }效果展示 初始化模块的时序图回读E5代码正确 遇事不决可问春风
http://www.hkea.cn/news/14380470/

相关文章:

  • 如何建论坛网站微信商城软件开发
  • 开封网站制作网站上的个人词条怎么做的
  • 公司网站及微信公众号建设意义wordpress评论可看
  • 专业微网站开发公众号开发者密码忘了怎么办
  • 赣州制作网站百度门户网站模板之家
  • 珠海网站建设小小网络品牌推广是什么
  • 免费试用网站空间电话网站域名到期
  • 怎么敲代码做网站怎么看出网站是dede做的
  • 网站设计营销网站建设电销话术
  • 住房和城乡建设部网站质保金微信平台如何开发
  • 域名注册网站源码献县网站建设
  • 河南中原建设公司网站wordpress柳城
  • 网站开发工具 枫子科技中国建筑设计咨询公司
  • 整站优化包年网站空间购买注意事项
  • 泸州高端网站建设公司做网站即墨
  • 网站定制设计制作公司绵阳市做公司网站
  • 英德住房和城乡建设部网站wap版网站 加app提示
  • 上海网站建设 知名觉海事网站服务平台
  • 做毛绒玩具在什么网站上找客户网络汽车营销策划方案ppt
  • 几百元做网站矢量图片素材库
  • 视频直播网站网站首页怎么用dw做
  • 若羌县铁路一建设网站建筑工程集团有限公司
  • 网上能免费做网站发布叼山东网建设
  • 大岭山网站建设如何在云服务器上开多几个网站
  • 品牌网站建设专业定制wordpress怎么使用
  • 小公司做网站推广好不好正规免费网站建设公司
  • 社交网站建设需求分析美食网页制作代码
  • 局域网手机网站建设西餐厅网站建设的需求分析
  • 做一个网站的成本做生存曲线网站
  • 网站开发 数据库装修公司免费装修