自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (1)
  • 收藏
  • 关注

原创 信号量与互斥信号量

信号量ucos中,信号量的用处还是蛮多的,它就像开锁的钥匙,用于对共享资源的访问保护。开公共锁的时候,得先拿到钥匙,这一步就是请求信号量OSSemPend();拿到钥匙使用完共享资源后,还得把钥匙还回去才算一次访问完成,换钥匙就相当于释放信号量OSSemPost();互斥信号量1.优先级反转:在低优先级任务在使用信号量时,高优先级任务也想使用信号量只能等待低优先级使...

2019-05-22 20:03:47 678

原创 任务的创建与删除,挂起与恢复

通过一个小例子来了解ucos任务的创建删除,挂起和恢复。创建三个任务,开始任务用于创建另外两个任务,任务1LED01S闪烁一次,并在串口输出“任务1已经执行的次数“,任务二在任务执行5的倍数次时执行1次。先是任务的创建,主要是定义任务优先级,任务堆栈大小,任务控制块,任务堆栈以及任务函数,注意不同任务的优先级最好不同//任务优先级#define START_TASK_PRIO 3...

2019-05-16 16:29:05 913

原创 UCOSIII移植

刚开始学习UCOS,主要根据正点原子针对自己在f103上移植时的主要步骤。1.新建UCOSIII文件夹,在此文件夹下将正点原子资料的UCOSIII-LIB,UCOSIII-CPU,UCOSIII复制过来,再新建UCOSIII-BSP,UCOSIII-CONFIG2.将EvalBoards->ucosiii下的文件除app.c和stm32f10x_conf.h外的八个文件复制到U...

2019-05-06 20:40:31 1800

原创 AD中画PCB文件高亮显示和取消高亮某一网络的快捷键

画PSB文件高亮显示某一网络:ctrl+鼠标左键即可取消高亮显示某网络:shift+c

2019-04-26 17:37:56 45015 2

原创 stm32的systick的延时函数

1.介绍一种学到的systick延时函数:在stm32f10x.c文件里先定义一个全局变量:u16 delaytime;定义一个延时函数void delay_ms(u16 time){ delaytime=time; while(!delaytime==0);}使用systick中断服务函数延时,使全局变量delaytime递减void Sy...

2019-04-14 18:08:35 1981

原创 Ubuntu下用vi编辑器编写c程序

一.vi编辑器编写C程序一般常用下面三个模式:一般模式:在终端输入vi 文件名.c  进入的是一般模式。此模式下,用来复制,粘贴,删除等操作,按h,j,k,l分别表示向左,向下,向上,向右;按u撤销上一步操作;插入模式:在终端模式下按i进入插入模式。此模式下用于编辑内容。按“esc”退回到一般模式。底行指令模式:在终端模式下“:”进入,插入模式时,须先进入一般模式,再进入底行指令模式。...

2019-01-18 13:28:21 4072

原创 Ubuntu下的c程序--helloworld

这两天刚接触ubuntu,学习了一些常用的命令,最主要的还是写了c的入门程序-helloworld 首先根据快捷键ctrl-alt-t打开中断,先用gedit新建一个.c文件运行后会出现文本编辑器,输入c代码后点击保存并退出在终端运行 文件名.c -o 文件名 和 ./文件名,就OK了 ...

2019-01-17 12:04:57 561

原创 PID在平衡小车的应用

PID应用时,积分由历史数据累加代替,微分由一阶微分代替。PID的特点是稳定性,快速性和准确性,不同的系统倾向于不同的特点,平衡小车的实现中快速性应当是第一位。平衡小车的实现主要是直立环和速度环。直立控制环主要由P(比例控制)和D(微分控制)控制。当陀螺仪的倾角越大时,比例系数就越大,用于提高相应速度;P项系数太大时,可能会出现低频震荡,,所以用微分项抑制因为KP太大产生的低频抖动。在...

2018-12-15 22:00:46 1260

原创 STM32的频率和占空比计算

STM32的PWM应用广泛,最重要的就是调节占空比来达到PWM的控制应用。STM32的一个定时器能同时输出4路PWM分别占据一个通道,而定时器的频率确定了,四个通道的频率也就随之确定,所以同一个定时器的四个通道的频率是相同的。频率由PSC寄存器和arr寄存器计算得到。f=72MHZ/[(arr+1)(psc+1)]频率确定后,再通过寄存器TIMX->CCRY寄存器来确定通道Y的占...

2018-12-01 00:11:48 14198 2

原创 PID基本原理

刚接触PID算法,还没有用它做过项目,就简单说一下PID算法的基本思想和原理,欢迎各位大佬指正。PID算法是经典的控制算法,能根据用户的设定值自动控制对象稳定工作在设定值。PID算法名字的由来就是它共有P项,I项,D项三项的线性叠加来控制对象。下面具体计算各项:设定了控制对象需要稳定的工作点也就是设定值(SV)后,PID首先通过传感器获得控制对象的当前值(PV),将PV与SV进行计算处理,...

2018-11-14 20:53:10 2987

原创 STM2的常用寄存器小结

每组GPIO的常用寄存器:1.两个32位的配置寄存器(GPIOx_CRL,GPIOx_CRH)   配置一个IO口需要4个位,32位寄存器只能配置8个IO口,一组有16个IO口,所以共需要两个寄存器。   GPIOA_CRL控制标号PA0-PA7的口,GPIOA_CRH控制PA8-PA15的口控制每个IO口的4个位中,前两个位控制是输出模式还是输入模式,后两位控制输出或输入模式下的配置前...

2018-07-30 10:47:23 435

原创 ALIENTEK MiniSTM32开发板结构功能

前两天才收到这款板子,看起来还不错,对板子的各部分功能才有了基本的认识1.HS0038红外接收头    用于接受购买板子时配带的红外遥控器的信号 ,这样用板子就可以控制开发板2.DS18B20预留接口     数字温度传感器接口,是板子上的三个圆孔状接口3.USB串口/串口1      标有RXD和TXD是USB转串口的2个数据口,用于STM32的程序下载以及串口通信4.两个L...

2018-07-22 13:47:20 9889 1

原创 c语言的选择排序和插入排序

一.选择排序 选择排序只对两个元素进行交换,比较时记忆最大数的下标 遍历一趟下来,最后只需将最大值放在对应位置即可;#include<stdio.h>#include<stdlib.h>#include<time.h>int main (void){int a[10],i,j,t,k;srand(time(0));for(i=0;i...

2018-06-24 09:25:22 1382

原创 Arduino智能小车超声波测距避障基本思路总结

前几天已经实现了小车的循迹功能,下面是通过写避障的一些想法: 超声波原理:超声波传感器先发送一个信号,信号遇到障碍物后就会被反弹回来再被超声波传感器接收,接收到的高电平持续的时间就是超声波从发射到接收到的时间,所以测试的距离=(高电平时间*声速)/2;  再将距离单位换算成厘米所用函数:distance=pulseIn(接收信号的引脚echo,HIGH)/58; (声速为340...

2018-06-15 13:36:27 24738 4

原创 PWM控制智能小车速度

用Arduino板子做小车,下面的简单程序基本能实现小车的基本行走#define STOP 0#define FORWARD 1#define BACKWARD 2#define TURNLEFT 3#define TURNRIGHT 4int leftmotor1=4;int leftmotor2=5;int rightmotor1=6;in...

2018-06-09 22:38:09 16210 1

原创 PWM,外部中断,定时器中断的基本总结

 本周的学习内容主要是PWM,外部中断和定时器中断,了解了PWM的基本功能以及外部中断,定时器中断的执行过程.  一·PWM1.PWM一般是指脉冲宽度调制,通过PWM功能就能调节输出电压。  2.占空比指的是高低电平所占时间的比值,比值越大,占空比越大。在一个周期T内,若高电平输出时间为0.4T,则它的占空比就是40%。  3.实现LED的呼吸过程是PW...

2018-06-02 23:12:02 10509

stm32f103IIC驱动LCD1602

stm32f103通过iic连接LCD1602液晶屏,能够显示字符和数字

2018-12-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除