- 博客(18)
- 资源 (2)
- 收藏
- 关注
原创 C# 获得主机IP地址
string hostname = Dns.GetHostName(); IPHostEntry hostentry = Dns.GetHostEntry(hostname); for(int i=0;i<hostentry.AddressList.Length;i++) { if(hostentry.AddressList[i].AddressFamily ==Addre...
2020-07-20 16:57:38
417
原创 差速AGV的控制理论分析与算法实现
核心理论:角速度与线速度控制。 角速度 W = V/R; 线速度 V= W*R;AGV运行时轮子转速即为线速度,当左右轮子出现速度差值时产生自身旋转角速度。导航控制方法:当AGV直线运行时由传感器得到偏离中线偏差换算成自身偏移角度,根据响应时间可将偏差换算为自身角速度。再由合速度计算方法得到AGV每个轮子独立的线速度即可...
2020-02-23 10:39:42
8694
3
原创 tcpip Socket编程入门
最近做了Gprs的通讯项目,下位机已经完成接手上位机的编写,属于赶鸭子上架现学现卖了。socket入门推荐一个文件Socket函数。chm帮助文件,通过这个文件你可以快速的上手Socket编程,里边详尽的解释了函数的功能以及使用方法。首先解释几个名词1、有连接TCP和无连接的数据报UDP,所谓有连接也就意味着每次进行数据发送的时候都要进行地址确定发送参数包含目标地址一、基于TC
2016-05-24 18:19:53
439
原创 Socket编程入门C++
最近做了Gprs的通讯项目,下位机已经完成接手上位机的编写,属于赶鸭子上架现学现卖了。socket入门推荐一个文件Socket函数。chm帮助文件,通过这个文件你可以快速的上手Socket编程,里边详尽的解释了函数的功能以及使用方法。首先解释几个名词1、有连接TCP和无连接的数据报UDP,所谓有连接也就意味着每次进行数据发送的时候都要进行地址确定发送参数包含目标地址一、基于TC
2016-05-24 17:25:21
531
原创 关于硬件错误的一些经验分享
程序运行过程中最不愿看到的错误莫过于硬件错误了,下面分享几条关于硬件错误的经验。1、由于寄存器的配置错误,比如说寄存器赋值过程中数值溢出。2、设置的变量溢出,比如设置的变量为8位,当它的值超过255时就会发生硬件错误。3、全局变量与局部变量的误用。4、抢占式任务调度过程中堆栈设置过小,堆栈溢出也会导致硬件错误。5、结构体指针的误用6、串口中断内部程序过多,(刚遇到)。
2016-05-12 15:43:13
2146
原创 实时操作系统延时问题
嵌入式实时操作系统任务设计经验以及操作系统函数的恰当使用 如果你用过嵌入式实时操作系统,那么你肯定知道操作系统的最大特点就是任务的并发执行,和高效的CPU利用率,同时在程序运行过程中高优先级任务必须调用系统函数,不然就会导致高优先级任务一直占用CPU使用权,从而使低优先级的任务无法获得CPU的使用权,这样做反而不能发挥出操作系统实时调度的优点。同时不当的使用操作系统任务
2016-04-28 16:01:54
1972
原创 基于嵌入式操作系统的实时性多任务划分方法
UCOSII_ARM 多任务划分方法与原则 谈几点多任务的划分原则:任务划分是必须清楚的认识到任务的性质和特点然后根据具体的特点对人物的优先级、堆栈等运行属性进行划分。1、设备依赖性原则:无论是通信,还是采集亦或是控制类任务都对设备具有不同程度的依赖性,同时因为外部设备的特点不同将导致任务的属性也发生变化,比如通信任务一般情况下外部设备的运行速率比主控芯片较低,所以在任务的执
2016-04-15 15:23:59
3291
原创 串口通信经验
最近做的项目用到了大量的串口,使用不同的波特率,且存在多任务共同占用串口的情况。问题描述1、多任务共同占用串口时容易发生数据混乱。解决办法:设一标志位,类似于UCOS的信号量2、单片机较高的工作频率面对较低的通信器件时容易使器件缓冲去混乱所以需要精确波特率,计算每一字节的发送时间。
2016-04-09 12:24:40
340
Socket-Chart.rar
2020-01-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人