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

厦门谁需要网站建设成都网络推广中联无限

厦门谁需要网站建设,成都网络推广中联无限,域名ip查询入口,建设银行公司官网【STM32F1】——9轴姿态模块JY901与串口通信(上) 一、简介 本篇主要对调试JY901模块的过程进行总结,实现了以下功能。 串口普通收发:使用STM32F103C8T6的USART2实现9轴姿态模块JY901串口数据的读取,并利用USART1发送到串口助手。 串口DMA收发:使用STM32F103C8T6的USART…

【STM32F1】——9轴姿态模块JY901与串口通信(上)

一、简介

本篇主要对调试JY901模块的过程进行总结,实现了以下功能。

  1. 串口普通收发:使用STM32F103C8T6的USART2实现9轴姿态模块JY901串口数据的读取,并利用USART1发送到串口助手。

  2. 串口DMA收发:使用STM32F103C8T6的USART2的DMA通道6读取JY901的串口数据,并利用USART1的DMA通道4发送到串口助手。

后续准备从数据的抗扰和稳定性、结合数据进行控制等角度进行更深入的应用探索。

二、JY901介绍

  1. 电压:3.3-5V
  2. 量程:X/Z轴 ±180°, Y轴 ±90°
  3. 通信方式:IIC、UART(默认9600波特率)
  4. 型号区别:JY901S(带温补),JY901B(带气压)
  5. 帧头格式:以角度输出为例,回传数据为11位。格式为:0x55 0x53 RollL RollH PitchL PitchH YawL YawH TL TH SUM

三、JY901的普通串口通信

  1. 接线
    1

  2. 程序简介:使用STM32F103C8T6的USART2实现9轴姿态模块JY901串口数据的读取,并利用USART1发送到串口助手。

  3. 实现思路

    1)配置串口USART1,开启发送中断。
    2)配置串口USART2,开启接收中断。
    3)定义接收数据的结构体。
    4)接收数据完成后,在USART2的中断服务子程序中处理数(根据帧头第二位判断所测的数据属性,然后复制到对应的结构体中)。
    5)进行数据解算,通过printf()调用USART1的发送中断服务子函数,发送数据到串口助手。

  4. 代码解析
    1)定义结构体用于储存接收到的数据

具体含义见JY901_REG.h

struct STime		stcTime;
struct SAcc 		stcAcc;
struct SGyro 		stcGyro;
struct SAngle 		stcAngle;
struct SMag 		stcMag;
struct SDStatus 	stcDStatus;
struct SPress 		stcPress;
struct SLonLat 		stcLonLat;
struct SGPSV 		stcGPSV;
struct SQ       	stcQ;

2)配置串口USART1

void UART1_Init(unsigned long baudrate)
{GPIO_InitTypeDef GPIO_InitStructure;USART_InitTypeDef USART_InitStructure;NVIC_InitTypeDef NVIC_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;GPIO_Init(GPIOA, &GPIO_InitStructure);USART_InitStructure.USART_BaudRate = baudrate;USART_InitStructure.USART_WordLength = USART_WordLength_8b;USART_InitStructure.USART_StopBits = USART_StopBits_1;USART_InitStructure.USART_Parity = USART_Parity_No ;USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;USART_Init(USART1, &USART_InitStructure); USART_ITConfig(USART1, USART_IT_TXE, ENABLE);  USART_ClearFlag(USART1,USART_FLAG_TC);USART_Cmd(USART1, ENABLE);NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;NVIC_InitStructure.NVIC_IRQChannelSubPriority = 7;NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;NVIC_Init(&NVIC_InitStructure);
}

3)串口USART1中断服务子函数

void USART1_IRQHandler(void)
{if(USART_GetITStatus(USART1, USART_IT_TXE) != RESET)// 全部发送完成{   USART_SendData(USART1, TxBuffer[TxCounter++]); if(TxCounter == count) {USART_ITConfig(USART1, USART_IT_TXE, DISABLE);// 全部发送完成}USART_ClearITPendingBit(USART1, USART_IT_TXE); }USART_ClearITPendingBit(USART1,USART_IT_ORE);
}

4)配置串口USART2(JY901初始化)

void JY901_Init(unsigned long baudrate
http://www.mmbaike.com/news/42030.html

相关文章:

  • 帝国网站做地域标签成功的软文营销案例
  • 淘宝客的网站怎么做大数据免费查询平台
  • 网站怎么做 织梦找相似图片 识别
  • 用java做视频网站推广引流平台app大全
  • 免费网页源代码网站推文关键词生成器
  • 杭州计算机公司排名太原seo服务
  • wordpress o'connor太原seo外包公司
  • 咨询网站 获取排名网络营销工具平台
  • 做返利网站能赚钱seo还可以做哪些推广
  • 做网批那个网站好知乎推广合作
  • 湖北省和建设厅网站营销计划怎么写
  • 长春市疫情最新消息seo引擎优化怎么做
  • 学做php网站有哪些公司网站建设服务机构
  • 云南网站制作多少钱网络营销策略分析报告
  • 宝塔软件怎么做网站网络营销的四个策略
  • phpcms做双语网站怎么制作网页推广
  • 网站未做安全隐患检测怎么拿shell长尾关键词挖掘站长工具
  • 快递网站怎么做的构建新发展格局
  • 手机网站解析东莞企业网站排名
  • 网站建设做网站怎么做在线营销推广
  • 白银网站建设公司google搜索下载
  • wordpress 管理员密码忘记seo优化网站推广专员招聘
  • 网站后台内容更换怎么做产品推广计划方案
  • 网站开发和运营合同分开签么高明搜索seo
  • 做vi 设计国外网站站长工具之家
  • 只做网站不做appseo快速优化技术
  • 手机触屏网站制作软件优化站点
  • 射阳建设局网站google推广及广告优缺点
  • 沈阳网站建设 房小二线上推广有哪些渠道
  • .net 网站开发视频中国目前最好的搜索引擎