![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言算法
文章平均质量分 82
00jackey
这个作者很懒,什么都没留下…
展开
-
PID图解
小明接到这样一个任务:有一个水缸点漏水(而且漏水的速度还不一定固定不变),要求水面高度维持在某个位置,一旦发现水面高度低于要求位置,就要往水缸里加水。 小明接到任务后就一直守在水缸旁边,时间长就觉得无聊,就跑到房里看小说了,每30分钟来检查一次水面高度。水漏得太快,每次小明来检查时,水都快漏完了,离要求的高度相差很远,小明改为每3分钟来检查一次,结果每次来水都没怎么漏,不需要加水,来得太频...转载 2018-11-12 10:32:40 · 25141 阅读 · 2 评论 -
单片机日志记录系统
单片机日志系统架构说明:日志记录系统按照API封装的思想只在接口文件中保留功能性程序,及 init ,set ,get;存储器使用华邦的w25q64,最低擦除的为1个sector(4096Bytes);日志系统主要分为三个部分 1、日志索引 ,2、断电日志存储区,3、日志存储区1、日志索引:为了避免对单个地址持续擦写造成块损坏,日志索引使用两个sector作为日志的索引存储区,日志...原创 2018-08-08 14:36:49 · 9983 阅读 · 1 评论 -
新型按键扫描程序改良
硬件基础四个独立按键逻辑图说明:与bsp_key.c 的代码有一点出入Created with Raphaël 2.1.2开始KEYx_TRIGER?记录键值KEYx_CONTINE?计数器减数是否有键值?计数器减为0?如果有键值为长按结束如果有键值为短按yesnoyesnoyesnoyesno程序bsp_key.h/******************...原创 2018-08-03 12:09:55 · 1620 阅读 · 1 评论 -
stm32f103的RTC驱动程序
具体问题这段时间在弄自己的一个《宝宝的气象站》的项目,使用了ESP8266的WiFi模块,使其能够将数据传输到OneNET后台并显示。网络通信使用的是OneNET提供的EDP通信组件,但是RTC遇到了问题。从NTP服务器获取的时间与本地RTC获取的时间有差异。NTP使用的是1970年1月1日作为起始时间点。本地RTC的起始点是2000年1月1日。这样就需要将NTP获取的秒减去两个时间的间隔。...原创 2018-08-03 11:56:29 · 5115 阅读 · 0 评论 -
字符串截取
c库string.h函数char *strtok(char *str, const char *delim)分解字符串 str 为一组字符串,delim 为分隔符。返回被分解的第一个子字符串,如果没有可检索的字符串,则返回一个空指针。实例#include <string.h>#include <stdio.h>int main ()...原创 2018-08-12 17:16:17 · 286 阅读 · 0 评论 -
SSD1306双内存驱动
问题原由基于目前在网上找的SSD1306的驱动程序普遍采用一个二维数组作为显示缓存,画点函数作为显示的底层,这样会照成当整个页面在刷新的时候的操作有: 1、单点刷玩整个页面 2、使用显示缓存刷完整个页面 这样会让整个页面刷新缓慢,对人机交互有影响问题解法我目前使用的是OLED12832这款型号的屏幕,程序显示主缓存为OLED_Gram[4][128],对比缓存为O...原创 2018-08-03 11:38:16 · 1732 阅读 · 0 评论 -
结构体队列实现
lsg_queue.h#pragma once#include&amp;lt;stdbool.h&amp;gt;/* 链式栈接口的定义头文件 */#define true 1#define false 0//读写器配置typedef struct { unsigned char data[600]; //数据 unsigned int lenght; // 有效数据}...原创 2018-08-10 19:02:37 · 4924 阅读 · 0 评论 -
ucosiii 消息队列处理
OS_Q消息队列传输的是指针,所以在传输过程中,需要保持指针所在变量保持。/************************************************************** 函数名称: KEY_Task** 函数功能: 扫描按键是否按下,如果有按下,进行对应的处理** 入口参数: void类型的参数指针** 返回参数: ...原创 2018-06-01 13:36:04 · 741 阅读 · 0 评论 -
API函数中的缩写
最近看源码,发现有好多复杂的缩写,看不懂,记不住,MSDN上没有,百度呢,要不是没有,要不就是形似。就猜,应该是有联系的吧。有一定的命名规则。就上网搜了一下程序员的编程规范,发现了一些类似的标志。形成缩写的几种技术1) 去掉所有的不在词头的元音字母如screen写成scrn, primtive写成prmv2) 使用每个单词的头一个或几个字母如Channel Activation写成Ch...转载 2018-05-15 09:47:45 · 325 阅读 · 0 评论 -
单片机之串口数据处理
随着硬件系统的模块化发展,很多电子产品都做出模块并采用串口进行数据通信。例如:GPRS模块、GPS模块、语音模块、热敏微型打印机、串口摄像头等等。在与这些模块进行数据通信都离不开串口,而对于串口的操作,由于串口本身没有标准的通信协议,所以很难做到非常统一的操作过程。一般来说,不同的模块其有着特殊的通信协议,我们只能根据其协议进行数据解码。 虽然说串口没有标准协议,但是我们却可以把它们的相似部...转载 2018-05-17 18:08:53 · 11133 阅读 · 0 评论 -
uCosiii队列API应用笔记
OS_Q 消息队列传递的是指针,所以在传递指针的时候需要指针指向的值保持到数据处理完毕/************************************************************** 函数名称: KEY_Task** 函数功能: 扫描按键是否按下,如果有按下,进行对应的处理** 入口参数: void类型的参数指针** 返回参数: 无*原创 2018-04-17 10:23:22 · 334 阅读 · 0 评论 -
LED 闪烁代码
/************************************************************** 函数名称: Led1_StateRefresh** 函数功能: LED1 闪烁,** 入口参数: ledState:0:不闪烁 ;1:1s闪烁一次 ;2:1s闪烁两次** 返回参数: 无** 说明: 100ms 调用一次,开关间隔100ms **原创 2017-12-12 16:57:25 · 4040 阅读 · 0 评论 -
滑动滤波算法
滑动滤波原创 2017-12-15 21:50:53 · 3910 阅读 · 0 评论 -
按键滤波算法
一、状态稳定才改变键值/******************************************************************************* capture sensors value*******************************************************************************/st原创 2017-12-12 17:12:42 · 2502 阅读 · 0 评论 -
温度状态转化加迟滞处理
/** ****************************************************************************** * @file Project/PWFCRobot_R1/Safety.h * @author Jackey Jiang * @version V1.0.0 * @date 18-April-2016 *原创 2017-12-12 17:03:06 · 532 阅读 · 0 评论 -
图片内容转化为坐标与像素
#include #include #define PIC_BUFF_TOTAL_PIX 200 static uint16_t s_PictureBuff[PIC_BUFF_TOTAL_PIX]={ 0x1100,0x1110,0x1120,0x1130,0x1140,0x1150,0x1160,0x1170,0x1180,0x1190, 0x1200,0x1210,0x1220,原创 2017-12-12 16:28:35 · 4546 阅读 · 0 评论 -
嵌入式C,使用动态内存分配安全吗?
想在C语言程序员之间开始一个激烈的,或者说有争议的讨论很简单,只需要问:“使用动态内存分配安全吗?”使用动态内存分配安全吗?在C语言程序开发中,动态内存分配允许程序在运行时向系统申请内存使用,只不过在使用完毕后,需要显式的释放之,这就要求程序员对动态分配的内存了然于胸。在非常重视安全(safety-critical)的嵌入式C语言程序开发中,动态内存分配广泛被认为是禁忌。使用C语言的m...转载 2019-08-12 09:52:59 · 1098 阅读 · 0 评论