
嵌入式
文章平均质量分 92
37.20 ℃
这个作者很懒,什么都没留下…
展开
-
Linux学习笔记——小知识
Linux不靠扩展名区分文件类型Linux跟windows不同,它不依靠扩展名来区分文件的类型。Linux是依靠文件的权限来区分文件的,但是有一部分的文件会加后缀名,主要是为了增加它的可读性,便于用户清除明白它的类型。压缩包:" *.gz"、" *.bz2"、" *.tar.bz2"、" *.tgz"等。二进制软件包:" *.rpm"网页文件:" *.html"、" *.php"脚本文件:" *.sh"配置文件:" *.conf"Linux虽然有命令确定文件的类型,但是并不直观。Window原创 2020-07-17 07:41:59 · 151 阅读 · 0 评论 -
stm32笔记——移植uos后出现打印浮点型变量错误的问题
最近再看UOSIII的文档,学习UOSIII。在实操的时候出现了打印浮点型变量错误的问题,在网上找了一下发现这是个常见的问题,所以在这里记录一下这个问题,方便日后的开发。查阅后发现原来是我定义的堆栈没有八字节对齐,在裸机的时候系统默认的堆字节就是八字节对齐的,但UOCIII的用户堆栈并不是这样的。所以这里需要手动的设置它为八字节对齐。一开始我对任务堆栈的定义是这样的: #define TASK1_STK_SIZE 128 OS_STK TASK1_TASK_STK[TASK1_STK_SIZE];原创 2020-07-10 10:11:21 · 354 阅读 · 0 评论 -
STM32输入捕获(库函数版本)
什么是输入捕获?顾名思义,输入捕获就是对输入的信号进行捕获,可以用来测量脉冲宽度或者测量频率。STM32 的定时器,除了 TIM6 和 TIM7,其他定时器都有输入捕获功能。STM32 的输入捕获,简单的说就是通过检测 TIMx_CHx 上的边沿信号,在边沿信号发生跳变(比如上升沿/下降沿)的时候,将当前定时器的值(TIMx_CNT)存放到对应的通道的捕获/比较寄存器(TIMx_CCRx)里面,完成一次捕获。同时还可以配置捕获时是否触发中断/DMA 等。STM32输入捕获之前讲过定时器的配置,这里就不原创 2020-07-08 16:05:44 · 1769 阅读 · 0 评论 -
STM32输出PWM信号(库函数版本)
什么是PWM信号?官方解释:PWM信号一般指脉冲宽度调制。脉冲宽度调制是一种模拟控制方式,根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变。这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。相信大家都会很努力的看完它吧。作为一个学习糟糕的大学生,我一般都不看这种官方的解释,我认为的PWM信号就是一种占空比可调的方波,什么又是占空比呢?不知道就去百度吧。懒得百度我也原创 2020-07-08 11:28:52 · 6142 阅读 · 2 评论 -
PID算法的原理和实现(二)
上一节我们主要讲了什么是PID,以及PID的主要原理,这一章我们来讲PID的分类以及实现。PID的分类PID在离散域中主要分为两大类:位置式PID和增量式PID。二者之间有什么区别和联系呢?听我细细道来。位置式PID位置式的PID的表达公式为:KP:比例系数ek:第k次的输入量与目标量的偏差值KI:积分系数KI后面的乘数:每次的偏差值的累加KD:微分系数ek - ek-1:第k次的偏差值和第k-1次的偏差值的差值位置式PID的优点就是能够记录一开始到现在的偏差值,能够更好的将系统给稳定原创 2020-07-06 16:46:51 · 1021 阅读 · 0 评论 -
PID算法的原理和实现(一)
1、什么是PID?能吃吗?PID是常见的控制算法。当然算法不单单要“吃”,更要进行“消化”。PID中的P就是比例(proportional)、I就是积分(integral)、D是微分(derivative)。其实PID在生活中非常的常见,就好比平衡小车、无人机、一部分的扫地机器人…emmmm再好比骑自行车?总之PID主要就是控制某一个量“保持平衡”的一种算法。我这里举一个常规的例子你大概就能够明白了:我们想煮一壶60℃的水,你会怎么做呢?这个答案不是很简单嘛。就当他低于60℃的时候加热,超过60原创 2020-07-06 09:53:17 · 1650 阅读 · 0 评论