CONTROL
文章平均质量分 74
Control Of The Life.
tianyvHub
平静的人心中自有山水
展开
-
面向对象写单片机程序-程序分层
面向对象写单片机程序-程序分层管理层typedef struct InputDevice { char *name; int (*GetInputEvent)(PInputEvent ptInputEvent); int (*DeviceInit)(void); int (*DeviceExit)(void); struct InputDevice *pNext;}InputDevice, *PInputDevice;static PInputDevice g_ptInputDevi原创 2021-11-19 08:16:14 · 252 阅读 · 0 评论 -
利用 51 定时器生成 PWM
利用 51 定时器生成 PWM1 PWM 简介PWM(Pulse Width Modulation,脉冲宽度调制)是按一定规律改变脉冲序列的脉冲宽度,以调节输出量和波形的一种调制方式。在控制系统中最常用的是矩形波 PWM 信号,在控制时需要调节 PWM 波占空比。如下图所示,占空比是指高电平持续时间在一个周期时间内的百分比。控制电机的转速时,占空比越大,速度越快,如果全为高电平,占空比为 100% 时,速度达到最快。当用单片机 I/O 输出 PWM 信号时,可采用以下三种方法:利用软件延时。当原创 2021-12-15 13:26:48 · 4931 阅读 · 0 评论 -
从零入门 FreeRTOS 操作系统之创建任务流程
从零入门 FreeRTOS 操作系统之创建任务启动方式在 main() 函数中将硬件和 RTOS 系统先初始化好,然后创建一个启动任务后就启动调度器,然后在启动任务里面创建各种应用任务,当所有任务都创建成功后,启动任务把自己删除。由于 AppTaskCreate 任务,执行一次之后就进行删除,则不影响系统运行,所以,只执行一次的任务在执行完毕要记得及时删除。创建静态任务创建 SRAM 静态内存任务的要点是:configSUPPORT_STATIC_ALLOCATION 这个宏定义必须为 1(在 F原创 2021-10-13 21:08:21 · 1446 阅读 · 0 评论 -
玩转C语言之自定义数据类型-typedef
自定义数据类型-typedef1.1 引言引言:在C语言中没有提供字节类型,如果在工程中需要使用表示字节的变量时,该怎么办呢?我们知道 1 个字节占用 8 个二进制位空间,解决这个问题的办法就是找个占用 8 个二进制位的内存空间的类型即可。令我们开心的是, char 类型占用的内存空间正是 1 个字节,因此可以用 char 类型表示字节类型。由于 char 类型表示的数值范围是 [-128, 127],1 个字节表示的范围是 [0, 255],为了能够完全代替,我们使用 unsigned ch原创 2021-09-03 16:25:12 · 487 阅读 · 0 评论 -
玩转C语言之数组-数组指针
数组指针 在揭开数组指针神奇的面纱之前,我们先来探讨一下数组是否有自己特定的类型呢?1. 数组类型 我们知道数组是相同类型变量的有序集合。例如 int a[5] = {0};,其含义就是 5 个 int 类型变量集合在一起由数组 a 管理。那么我想问一下,数组 a 的类型是什么呢? 如果读者是正在C语言求学道路上的话,那么你的答案应该是 int 类型。但是我想说的是,很不好意思,这个答案是错的,那么接下来就为大家揭晓答案。 首先,我们要明确一点:在 C 语言中,数组有自己特定的类型。原创 2021-09-03 12:20:50 · 171 阅读 · 0 评论