嵌入式
grand_duke
研发
展开
-
差速AGV的控制理论分析与算法实现
核心理论:角速度与线速度控制。 角速度 W = V/R; 线速度 V= W*R;AGV运行时轮子转速即为线速度,当左右轮子出现速度差值时产生自身旋转角速度。导航控制方法:当AGV直线运行时由传感器得到偏离中线偏差换算成自身偏移角度,根据响应时间可将偏差换算为自身角速度。再由合速度计算方法得到AGV每个轮子独立的线速度即可...原创 2020-02-23 10:39:42 · 8405 阅读 · 3 评论 -
高精度超声波测距仪的设计与实现
普通的超声波测距仪精度较低,其主要原因是声速在传播的过程中受到诸多环境因素的影响原创 2016-03-10 14:37:38 · 1555 阅读 · 0 评论 -
关于硬件错误的一些经验分享
程序运行过程中最不愿看到的错误莫过于硬件错误了,下面分享几条关于硬件错误的经验。1、由于寄存器的配置错误,比如说寄存器赋值过程中数值溢出。2、设置的变量溢出,比如设置的变量为8位,当它的值超过255时就会发生硬件错误。3、全局变量与局部变量的误用。4、抢占式任务调度过程中堆栈设置过小,堆栈溢出也会导致硬件错误。5、结构体指针的误用6、串口中断内部程序过多,(刚遇到)。原创 2016-05-12 15:43:13 · 2115 阅读 · 0 评论 -
tcpip Socket编程入门
最近做了Gprs的通讯项目,下位机已经完成接手上位机的编写,属于赶鸭子上架现学现卖了。socket入门推荐一个文件Socket函数。chm帮助文件,通过这个文件你可以快速的上手Socket编程,里边详尽的解释了函数的功能以及使用方法。首先解释几个名词1、有连接TCP和无连接的数据报UDP,所谓有连接也就意味着每次进行数据发送的时候都要进行地址确定发送参数包含目标地址一、基于TC原创 2016-05-24 18:19:53 · 420 阅读 · 0 评论 -
Socket编程入门C++
最近做了Gprs的通讯项目,下位机已经完成接手上位机的编写,属于赶鸭子上架现学现卖了。socket入门推荐一个文件Socket函数。chm帮助文件,通过这个文件你可以快速的上手Socket编程,里边详尽的解释了函数的功能以及使用方法。首先解释几个名词1、有连接TCP和无连接的数据报UDP,所谓有连接也就意味着每次进行数据发送的时候都要进行地址确定发送参数包含目标地址一、基于TC原创 2016-05-24 17:25:21 · 508 阅读 · 0 评论 -
实时操作系统延时问题
嵌入式实时操作系统任务设计经验以及操作系统函数的恰当使用 如果你用过嵌入式实时操作系统,那么你肯定知道操作系统的最大特点就是任务的并发执行,和高效的CPU利用率,同时在程序运行过程中高优先级任务必须调用系统函数,不然就会导致高优先级任务一直占用CPU使用权,从而使低优先级的任务无法获得CPU的使用权,这样做反而不能发挥出操作系统实时调度的优点。同时不当的使用操作系统任务原创 2016-04-28 16:01:54 · 1924 阅读 · 0 评论 -
基于嵌入式操作系统的实时性多任务划分方法
UCOSII_ARM 多任务划分方法与原则 谈几点多任务的划分原则:任务划分是必须清楚的认识到任务的性质和特点然后根据具体的特点对人物的优先级、堆栈等运行属性进行划分。1、设备依赖性原则:无论是通信,还是采集亦或是控制类任务都对设备具有不同程度的依赖性,同时因为外部设备的特点不同将导致任务的属性也发生变化,比如通信任务一般情况下外部设备的运行速率比主控芯片较低,所以在任务的执原创 2016-04-15 15:23:59 · 3235 阅读 · 0 评论 -
串口通信经验
最近做的项目用到了大量的串口,使用不同的波特率,且存在多任务共同占用串口的情况。问题描述1、多任务共同占用串口时容易发生数据混乱。解决办法:设一标志位,类似于UCOS的信号量2、单片机较高的工作频率面对较低的通信器件时容易使器件缓冲去混乱所以需要精确波特率,计算每一字节的发送时间。原创 2016-04-09 12:24:40 · 321 阅读 · 0 评论 -
第一篇文章--学习小感欢迎交流
分享的意义自学单片机三年,从51到stm8再到stm32一路走来,兴趣与努力并存。原创 2016-03-10 14:35:57 · 277 阅读 · 0 评论