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

专业直播网站开发北京网站建设价格行情

专业直播网站开发,北京网站建设价格行情,wordpress添加媒体在角落,网站上线 模板1. 背景 我的机器人上要用到超声波测距,因此就选了电应普的1拖4的超声波测距模块。用的是UART受控输出。这个模块的使用很简单,这里做一个笔记,也是对大家的一个参考。 2. 保姆级教程 刚刚说了,这东西很简单,就是一…

1. 背景

我的机器人上要用到超声波测距,因此就选了电应普的1拖4的超声波测距模块。用的是UART受控输出。这个模块的使用很简单,这里做一个笔记,也是对大家的一个参考。

2. 保姆级教程

刚刚说了,这东西很简单,就是一个串口的编程。但是在时间上,有一点点要注意。

我的程序的大框架是有一个50ms的任务,我的相关控制都在这50ms任务里完成。所以,我写一个超声波测距的独立的函数,放到50ms任务里就行了。这个独立的函数,会每50ms被执行一次。

2.1 函数的头文件

#ifndef _DIS_SENSOR_H_
#define _DIS_SENSOR_H_#include "main.h"
#include <wiringPi.h>
#include <wiringSerial.h>typedef struct {uint16_t dis1;uint16_t dis2;uint16_t dis3;uint16_t dis4;} dis_sensor_data_t;uint8_t dis_sensor_init(void);void dis_sensor_run_50ms(void);#endif // _DIS_SENSOR_H_

2.2 函数的实现文件

#include "main.h"#include "dis_sensor.h"/* 超声波测距的同时工作的反应时间是70多ms */
/* 每50ms 发一次触发命令,在100ms处能读到结果,也就是每100ms读到一次结果 */uint8_t dis_sensor_init(void)
{const char* dis_sensor_addr = "/dev/ttyAMA2"; // use uart2dis_sensor_data1.dis1 = 0;dis_sensor_data1.dis2 = 0;dis_sensor_data1.dis3 = 0;dis_sensor_data1.dis4 = 0;fd_dis_sensor = serialOpen(dis_sensor_addr, 9600);if(fd_dis_sensor < 0){printf("dis sensor initialize fail\n");return 0;}printf("dis sensor initialize success, fd_dis_sensor=%d\n", fd_dis_sensor);return 1;
}void dis_sensor_run_50ms(void)
{uint8_t trigger_command = 0x55;uint8_t tmp_dis[10] = {0};int data_len = 0;int checksum = 0;// send trigger commandserialPutchar(fd_dis_sensor, trigger_command);// read datadata_len = serialDataAvail(fd_dis_sensor);printf("dis sensor data length = %d\n", data_len);if(data_len>0){for(int i=0; i<10; i++){tmp_dis[i] = serialGetchar(fd_dis_sensor);printf("dis sensor data: %d, %02x\n", i, tmp_dis[i]);}// check checksumfor(int i=0; i<9; i++){checksum += tmp_dis[i];}checksum = checksum & 0xFF;if(checksum == tmp_dis[9]){printf("dis sensor checksum OK\n");}else{printf("dis sensor checksum error, checksum=%d, tmp_dis[9]=%d\n", checksum, tmp_dis[9]);}// save datadis_sensor_data1.dis1 = tmp_dis[1]*256+tmp_dis[2];dis_sensor_data1.dis2 = tmp_dis[3]*256+tmp_dis[4];dis_sensor_data1.dis3 = tmp_dis[5]*256+tmp_dis[6];dis_sensor_data1.dis4 = tmp_dis[7]*256+tmp_dis[8];printf("dis sensor data: %dmm, %dmm, %dmm, %dmm\n", dis_sensor_data1.dis1, dis_sensor_data1.dis2, dis_sensor_data1.dis3, dis_sensor_data1.dis4);}
}

2.3 函数的调用

void task_50ms_hook(int a ) // int a, a no used parameter
{// for time displayprintf("======task start======");print_current_time();// for distance sensordis_sensor_run_50ms();// for time displayprintf("======task   end======");print_current_time();}

3. 结果检验

 

可以看到,读到距离传感器数据的间隔是100ms。

也就是1秒钟可以得到10个数据。基本可以满足机器人的判断使用。

4. 使用中的探讨

现在看到我这个结果是每100ms可以读到一个数据,实际上最开始用的时候,是差不多300ms才有一个数据,我觉得这个间隔有点大,就问厂家,厂家建议将输出方式从轮询(缺省)输出改为同时输出,可以用串口发送指令

01 06 02 16 00 01 + ModbusCRC16校验码

来进行修改。可以用sscom来修改,也可以用电应普的调试助手来修改。

5. 好了,大功告成,亲个嘴儿。

 


文章转载自:

http://68XvWTHY.mqmxg.cn
http://QufFgmVM.mqmxg.cn
http://YS7ukDiW.mqmxg.cn
http://s6lgqXd9.mqmxg.cn
http://B7vs2XWr.mqmxg.cn
http://bPxlopVI.mqmxg.cn
http://Ox8ekTa2.mqmxg.cn
http://fhcurxOn.mqmxg.cn
http://endZ6Ko5.mqmxg.cn
http://JhlGhMSx.mqmxg.cn
http://bsWuk675.mqmxg.cn
http://OY9ntaoE.mqmxg.cn
http://GSWYdZ53.mqmxg.cn
http://gvn2roVT.mqmxg.cn
http://mAMRNmZF.mqmxg.cn
http://04DISgVs.mqmxg.cn
http://angKO2u6.mqmxg.cn
http://bxn7qwMi.mqmxg.cn
http://cjMifHTb.mqmxg.cn
http://MKd93Es0.mqmxg.cn
http://xlaTW9pr.mqmxg.cn
http://73U6SaoB.mqmxg.cn
http://jAyutXE8.mqmxg.cn
http://2e4wh2Mr.mqmxg.cn
http://6aCCCiyi.mqmxg.cn
http://DR2xeWqS.mqmxg.cn
http://pSSSyRdx.mqmxg.cn
http://oohBtiQc.mqmxg.cn
http://UnCoXCpN.mqmxg.cn
http://mDSrIR7t.mqmxg.cn
http://www.dtcms.com/wzjs/602503.html

相关文章:

  • 长沙哪里可以做网站301网站重定向怎么做
  • 企业自助建站模板江苏建设造价信息网站
  • 商城网站公司龙岩属于哪里
  • 公司网站管理图片直播网站 建设
  • 有域名可以自己做网站吗网站的重要目录对百度进行了封禁
  • 企业网站设计图片网站架构设计师就业指导
  • 国外优秀的网站建设公司企业网站建设的建议
  • wordpress淘宝客类网站建设网站主页制作
  • 网站建设软件kanwordpress编辑框经典
  • 西安交易网站建设今天最新的招聘信息
  • 网站建设多少钱个人检察机关加强网站建设
  • 网站如何做百度推广北京网站备案域名
  • 家装公司网站开发方案程建网
  • 中国建设部网站首页做网站要不要营业执照
  • 快速迁移网站桂林生活网论坛
  • 杭州做网站一般多少钱评论回复网站怎么做的
  • 网站排名怎么做的网页制作教程 基础
  • 长春建设厅网站首页wordpress注册密码
  • 古玩网站源码wordpress 一键 样式
  • 国外做游戏评测的视频网站有哪些西部数码网站管理助手 绑定域名
  • 网站工程和网络工程有什么区别企业查查app下载
  • 可以建公司网站网站品牌建设
  • 怎么用手机制作手机网站中国114建材网
  • 东莞网站建设企业网站制作公司中
  • 做ppt做好的网站为什么两学一做进不去网站
  • 竹子建站加盟咨询深圳东门属于哪个区
  • 网站主页与导航栏的设计做数学题好的网站
  • 惠州酒店网站建设森普网站建设
  • 在线教育网站开发实例互联网保险的发展
  • 广州制作网站哪家专业营销策划咨询公司