单片机
grand_duke
研发
展开
-
第一篇文章--学习小感欢迎交流
分享的意义自学单片机三年,从51到stm8再到stm32一路走来,兴趣与努力并存。原创 2016-03-10 14:35:57 · 277 阅读 · 0 评论 -
串口通信经验
最近做的项目用到了大量的串口,使用不同的波特率,且存在多任务共同占用串口的情况。问题描述1、多任务共同占用串口时容易发生数据混乱。解决办法:设一标志位,类似于UCOS的信号量2、单片机较高的工作频率面对较低的通信器件时容易使器件缓冲去混乱所以需要精确波特率,计算每一字节的发送时间。原创 2016-04-09 12:24:40 · 321 阅读 · 0 评论 -
基于嵌入式操作系统的实时性多任务划分方法
UCOSII_ARM 多任务划分方法与原则 谈几点多任务的划分原则:任务划分是必须清楚的认识到任务的性质和特点然后根据具体的特点对人物的优先级、堆栈等运行属性进行划分。1、设备依赖性原则:无论是通信,还是采集亦或是控制类任务都对设备具有不同程度的依赖性,同时因为外部设备的特点不同将导致任务的属性也发生变化,比如通信任务一般情况下外部设备的运行速率比主控芯片较低,所以在任务的执原创 2016-04-15 15:23:59 · 3235 阅读 · 0 评论 -
实时操作系统延时问题
嵌入式实时操作系统任务设计经验以及操作系统函数的恰当使用 如果你用过嵌入式实时操作系统,那么你肯定知道操作系统的最大特点就是任务的并发执行,和高效的CPU利用率,同时在程序运行过程中高优先级任务必须调用系统函数,不然就会导致高优先级任务一直占用CPU使用权,从而使低优先级的任务无法获得CPU的使用权,这样做反而不能发挥出操作系统实时调度的优点。同时不当的使用操作系统任务原创 2016-04-28 16:01:54 · 1924 阅读 · 0 评论 -
关于硬件错误的一些经验分享
程序运行过程中最不愿看到的错误莫过于硬件错误了,下面分享几条关于硬件错误的经验。1、由于寄存器的配置错误,比如说寄存器赋值过程中数值溢出。2、设置的变量溢出,比如设置的变量为8位,当它的值超过255时就会发生硬件错误。3、全局变量与局部变量的误用。4、抢占式任务调度过程中堆栈设置过小,堆栈溢出也会导致硬件错误。5、结构体指针的误用6、串口中断内部程序过多,(刚遇到)。原创 2016-05-12 15:43:13 · 2115 阅读 · 0 评论 -
高精度超声波测距仪的设计与实现
普通的超声波测距仪精度较低,其主要原因是声速在传播的过程中受到诸多环境因素的影响原创 2016-03-10 14:37:38 · 1555 阅读 · 0 评论