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

机械网站建设公司推荐国家免费培训网站

机械网站建设公司推荐,国家免费培训网站,公司网站建设企业网站,建设银行网站如何修改账单地址场景是用stm32与一款温湿度传感器通信,不过是基于SDI-12协议,SDI-12时序和UART类似,故采用UART传输,原理图如下 其中DIR_OUT_SDI是一个IO引脚,控制UART_TX_SDI是否使能,U10是三态门IC,即拉低DIR…

场景是用stm32与一款温湿度传感器通信,不过是基于SDI-12协议,SDI-12时序和UART类似,故采用UART传输,原理图如下

其中DIR_OUT_SDI是一个IO引脚,控制UART_TX_SDI是否使能,U10是三态门IC,即拉低DIR_OUT_SDI使能stm32输出,拉高DIR_OUT_SDI失能输出,串口配置8位数据位,偶校验,1位停止位,1200波特率。

下面给出发送一个激活命令的示例:

#define SDI_BREAK_TIME 13
#define SDI_BREAK_QUIET_TIME 20//@brief 发送确认激活命令  
//@param addr 传感器地址 ascii码 低7位有效
void sdi12SendAckActive(uint8_t addr)
{uint8_t cmd[]={'0'+addr,'!'};switchToIoConfig();HAL_GPIO_WritePin(SDI_DIR_GPIO_Port,SDI_DIR_Pin,GPIO_PIN_RESET);   //使能 SDI_OUT_PIN 输出sdi12SendBreak();switchToUartConfig();//HAL_UART_AbortReceive(&huart3);HAL_UART_Transmit(&huart3,cmd,2,0xFFFF);HAL_GPIO_WritePin(SDI_DIR_GPIO_Port,SDI_DIR_Pin,GPIO_PIN_SET);   //失能 SDI_OUT_PIN 输出g_SdiReceiveMessage.receiveFlag=0;g_SdiReceiveMessage.messageTop =0;HAL_UART_Receive_IT(&huart3, g_SdiReceiveMessage.message, 1);return;
}//@brief 将tx引脚配置为输出模式,作输出唤醒信号使用
void switchToIoConfig()
{GPIO_InitTypeDef GPIO_InitStruct={0};/*Configure GPIO pin Output Level */HAL_GPIO_WritePin(SDI_OUT_PORT, SDI_OUT_PIN, GPIO_PIN_SET);/*Configure GPIO pin : SPI_DIR_Pin */GPIO_InitStruct.Pin = SDI_OUT_PIN;GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;GPIO_InitStruct.Pull = GPIO_NOPULL;GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;HAL_GPIO_Init(SDI_OUT_PORT, &GPIO_InitStruct);return;
}//@brief 发送唤醒信号
void sdi12SendBreak()
{HAL_GPIO_WritePin(SDI_OUT_PORT,SDI_OUT_PIN,GPIO_PIN_RESET);HAL_Delay(SDI_BREAK_TIME);HAL_GPIO_WritePin(SDI_OUT_PORT,SDI_OUT_PIN,GPIO_PIN_SET);HAL_Delay(SDI_BREAK_QUIET_TIME);
}//@brief 将tx引脚配置为复用模式,作串口输出使用
void switchToUartConfig()
{GPIO_InitTypeDef GPIO_InitStruct={0};/*Configure GPIO pin Output Level */HAL_GPIO_WritePin(SDI_OUT_PORT, SDI_OUT_PIN, GPIO_PIN_SET);GPIO_InitStruct.Pin = SDI_OUT_PIN;GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;GPIO_InitStruct.Pull = GPIO_NOPULL;GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;GPIO_InitStruct.Alternate = GPIO_AF7_USART3;HAL_GPIO_Init(SDI_OUT_PORT, &GPIO_InitStruct);return;
}

示波器测试得到传感器的应答信号如下:第一个是唤醒信号,拉高电平13毫秒,之后保持20毫秒低电平,第二个数据帧是激活信号,即ascii码:  "0!",第三个是传感器的应答信号:"0\r\n"

http://www.dt0577.cn/news/26642.html

相关文章:

  • 有赞可以做独立网站吗电商网站建设制作
  • 黑山网站建设网站推广服务外包
  • 贵阳花溪建设村镇银行官方网站seo网站优化经理
  • 专门做民宿的网站百度如何做广告
  • wordpress首页文章分类展示seo软件开发
  • 做网站要考虑什么南宁网站推广哪家好
  • 宝应做网站手机百度app下载
  • 哈尔滨网站制作网页厦门人才网官网招聘
  • 为什么多个网站域名有同个网站备案携程: 2023年旅行搜索上涨超900%
  • 网站建设基本流程规范关键词林俊杰无损下载
  • 商城版免费网站推广怎么做才可以赚钱
  • 加强局网站建设什么是电商平台推广
  • 完成网站的建设工作内容刷关键词排名
  • 网站上的验证码怎么做电商培训班一般多少钱
  • 义乌万物网络科技 网站建设南宁seo服务优化
  • 阿里云网站空间做商城流程国内搜索引擎优化的公司
  • 如何在百度上做公司做网站郑州网络营销公司哪家好
  • dede网站转移网推怎么做
  • 湖北网站开发seo优化需要多少钱
  • 制作网站 服务器配置企业网站建设原则是
  • 怎么找网站是由什么建的政府免费培训 面点班
  • 网站服务器如何维护短链接在线生成器
  • 企业网站模块种类百度竞价排名系统
  • 政府网站为什么设计免费网站制作app
  • 营口网站开发公司优化培训课程
  • 做百度网站费用深圳seo公司
  • 想看别人的wordpress博客网站汕头seo优化培训
  • 建设网站需要哪些费用商丘网站优化公司
  • 怎么看公司网站做的好不好哦北京已感染上千万人
  • 长春 房地产网站建设网页关键词优化软件