zoukankan      html  css  js  c++  java
  • 2019年9月16日星期一(STM32 串口 超声波 单总线通讯)

    .串口

    在嵌入式开发中,为了辅助提高开发效率,我们需要调试工具,串口就是一个简单易用的调试工具,能够通过串口输出信息了解硬件的工作状态和参数

    stm32库函数开发中,在printf函数的实现中提供了一个后门,关于其中硬件输出的部分需要使用者自己实现,后门接口函数是一个发送字符的函数:   

    #pragma import(__use_no_semihosting)

    struct __FILE

    {

        int handle;

    }

    FILE __stdout;

    //定义_sys_exit函数避免使用半主机模式

    void _sys_exit(int x)

    {

        x = x;

    }

    int fputc(int ch,FILE *f)

    {

        ....

    }


    .超声波模块(SR04)

    1.原理

     超声波模块是用来测量距离的一种产品,通过发送和接收超声波,利用发送和接收的时间差和声音的传播速度,计算出障碍物和模块之间的距离

        

    2.模块接口(手册)

        量程:2cm-400cm

        精度:3mm

     

     

     

         

    (1)模块如何工作

                发送>10us的启动信号

                等待接收高电平响应,高电平时间就是发送接收时间差

     (2)模块接口

                5V供电

                通信接口是GPIO

    3.和开发板的连接

        

        Echo ----------- PC6(输入)

        Trig ----------- PC8(输出)

    17*i/100 cm

    4.电平时间测量方法

    1)使用延时检测

    2)使用定时器检测

        变高将定时器初始值设为0(TIM_SetCounter)

        变低读取定时器计数值(TIM_GetCounter)

        通过计数值来计算距离

    距离<10cm LED1亮报警

    5.串口命令使用

    练习:

        使用串口命令控制 蜂鸣器 读取距离....

    .温湿度传感器(dht11)

    1.原理图

       

        dht11只有一根数据线和CPU连接,这种使用一根数据线通信的方式叫单总线(一线式总线)

    2.查看dht11的说明手册

    1)误差和量程

     

    2)通信操作

                 

     

    3)通信时序

        

    起始信号和dht11的响应

        

    0和1的传输表示

             

             

        最简单的判断方法就是等待数据线变高后延时40-50us,读取总线上的电平(高-1 低-0),高位先出

        采样周期>1s

  • 相关阅读:
    手机端html滑动处理
    css控制div上下移动
    倒计时javascript
    PHP解决抢购等阻塞式高并发redis处理思路
    jQuery判断当前元素是第几个元素
    CSS 实现盒子水平居中、垂直居中和水平垂直居中的方法
    yii1.* session无法调用问题
    百度小程序坑坑坑
    php等比缩放图片
    lavarel的小失误
  • 原文地址:https://www.cnblogs.com/zjlbk/p/11529614.html
Copyright © 2011-2022 走看看