封装驱动函数
模块化编程:提取驱动函数,封装在.c和.h文件在工程文件夹新建Hardware存放硬件驱动,回到KILL,点击三个箱子的图标,新建组Groups叫Hardware,再点击魔术棒按钮,选择C/C++,点击三个点的按钮,把新建的Hardware文件夹添加到头文件路径。Hardware右键新建.C和.H文件叫LED,点击三个点按钮添加路径.H用来存放这个驱动程序可以对外提供的函数或者变量声明。第一行添加一个防止头文件重复包含的代码(格式固定)假如没有定义,就定义,最后和if呼应,注意!这个要以空行结尾.C第一行添加32的头文件,首先写初始化LED,里面就是写打开时钟,配置端口初始化这些东东在最后面加上GPIO_SetBits(GPIO_Pin_1 | GPIO_Pin_2);这样不操作LED则LED是熄灭的。若不加这句则LED默认低电平会亮。以后直接调用LED_Init(void)这个函数就好了,因为要被外部引用,所以将void LED_Init(void)赋值到.h文件中,别忘记加分号。这样就是对模块外部声明,这个函数是可以被外部调用的函数在main.c文件中加入#include”LED. ...
数模论文
标题:基于XX模型的XX问题研究模型就是正文里面的核心模型;XX问题就是赛题的中心词;不要使用修饰词避免出现公式、非公知公用的缩写,字数在一行内eg:基于单目标化模型的CT系统成像问题研究;基于差分方程和原包自动机的交通阻塞问题研究摘要:重中之重!!!基本要求:对论文概括,读完知道问题,建立的模型和求解结果注意:不要加图或者表格,控制在四分之三到一页,字数800-1100参考文献:按照规范列出并标注,参考文献不用自己写,知网搜索文献之后点最右侧引用导出,复制粘贴即可,用第一个就好了;按正文次序修改标号,添加角标在字体那里有个上标,若用到博客等网站的文章可以借鉴,绝对不要照抄!!公式编辑:1、Word自带公式编辑(适合小白);顶部功能区:插入-公式,或者快捷键:ALT和=Mathpix:可截图得到公式2、免费公式编号:若要复制当时公式右键保留原格式,然后删掉当时公式再写后面你想要的公式,自动编号三线表:三条线的表,第一行上面下面和最下面有线,标题放上面且带序号,采用“插入题注”,表的序号会自动更新如果线要加粗,选择标题行,中间的线才能变粗,一般一磅就好了,设置一次之后后面的表格都是三线表 ...
数学建模比赛前东东
赛题特点:
资料查找:1.Github这是Github上一个很厉害的中国博主整理的数据集,包括农业、建筑、生物、化学等等几乎所有领域,科研和竞赛人员的宝藏网站,使用也非常方便。https://github.com/awesomedata/awesome-public-datasets点击自己想要的领域,就会弹出来很多相关的数据连接,根据自己的需求去选择2. Gapminder这个网站可以做数据可视化,他也是收集了很多数据集,包括上百种关于世界经济、人口、环境、健康等公共指标的历史数据,都是按照国家和年份整理的面板数据。缺点就是这个网站不太稳定,科学上网https://www.gapminder.org/data/3.国家统计数据可以查看中国各领域宏观数据集https://data.stats.gov.cn/easyq ps:做好的图表可以直接截图放论文里不算抄袭
选题:
数据预处理:
数学建模论文的结构:一份完整的答卷应包含以下内容: 论文题目; 摘要; 问题的重述; 模型的假设、符号约定和名词解释; 模型的建立、模型的求解、模型的结果和检验; ...
PID算法(一)
1、PID的概念PID算法是工业应用中最广泛算法之一,在闭环系统的控制中,可自动对控制系统进行准确且迅速的校正。PID算法已经有100多年历史,在四轴飞行器,平衡小车、汽车定速巡航、温度控制器等场景均有应用。
PID算法:就是“比例(proportional)、积分(integral)、微分(derivative)”,是一种常见的“保持稳定”控制算法。
常规的模拟PID控制系统原理框图如下所示:
因此可以得出e(t)和u(t)的关系:
其中:
Kp:比例增益,是调适参数;
Ki:积分增益,也是调适参数;
Kd:微分增益,也是调适参数;
e:误差=设定值(SP)- 回授值(PV);
t:目前时间。
数学公式可能比较枯燥,通过以下例子,了解PID算法的应用。
例如,使用控制器使一锅水的温度保持在50℃,小于50℃就让它加热,大于50度就断电不就行了?
假如要求不搞的情况下可以这么做,但是要维持在50°C就比较困难,正如图中小人一样,只有低于50才加热,高于50就断开,那么温度就会在50上下来回震荡,很难接近50使之稳定。
设想一下,假如汽车的定速巡航电脑在某一时间测到车 ...
OLED
显示屏调试:显示屏连接单片机,调试信息显示在屏OLED简介:
驱动函数:showchar(1,2,’a’)一行二列显示字符以下同理,若四位参数则还有一个显示长度
GPIO输入以及C语言
按键抖动:过滤,加一段延时若遇到电路中一端接电路,另一端接地的电容,考虑滤波电容的作用,使电路稳定,在电路分析的时候可以遮掉传感器:红外发射管和接收管可以做寻迹小车左上角第一个:按键按下,接地低电平,按键松开,悬空电压不稳定,加个上拉电阻,则稳定PA0高电平第二个图外接上拉电阻:可以想象上拉电阻为一个弹簧按键松开上拉高电平 按键按下接GND为无穷大的力低电平。PA0可以控制为浮空或者上拉,两个上拉高电平稳定低电平损耗第三个内接下拉:同理第四个了解即可C语言数据类型Char字符按道理应该存放字符,但是单片机中用来存放整数宏定义“#define”用途:用一个字符代替一个数字,将数据参数映射到一个字符串上,关键字Typedef:用途,将较长的变量类型换个名字,便于使用两者区别:宏定义新名字在左边,不用分号;任何名字都能换typedef新名字在右边,要分号;只能专门给变量类型换名字给变量类型重命名一般用typedef结构体:struct用途:数据打包,不同类型变量的合集地址指针加->结构体名字用结构体变量的名字,用.来引出结构体成员若名字太长结构体不方便此时可以用typedef到时候要再 ...