自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 MNSGA-Ⅱ算法求解PMS(非关联并行机调度问题)

针对非关联并行机节能调度问题的特点,提出了一种改进的NSGA-Ⅱ算法(MNSGA-Ⅱ)。在MNSGA-Ⅱ算法中,设计了2个分别以最小化能源消耗和最小化最大完工时间为导向的初始化规则来生成高质量的初始调度方案及1个局部搜索算子来加快算法的寻优速度。最后,通过一系列的算例测试,证明了MNSGA-Ⅱ算法的有效性,且实验结果表明,算例规模越大,MNSGA-Ⅱ性能越优。

2023-06-10 09:45:57 802 1

原创 遗传算法求解TSP问题

采用遗传算法进行25个城市的TSP问题求解,通过遗传算法求解得出的最短路径值为29085.91,最优路径为24→15→25→20→19→6→8→17→3→13→7→5→11→1→2→14→4→9→12→21→10→16→22→18→23→24(数字为城市序号)。同时根据不同参数下的实验结果,得出结论,随着种群数量的增长及迭代次数的越来越多,遗传算法寻优的结果越来越好。当然,由于遗传算法本身具有一定的随机性,能否快速收敛得看具体参数设定。...

2022-06-09 17:44:14 21510 20

原创 BP神经网络拟合函数

采用BP神经网络拟合目标函数y=sin(x)*ln(x),并添加高斯随机噪声,通过使用feedforwardnet函数构建BP神经网络进行函数拟合。通过调试设定的参数及所使用的训练函数,得出结论:BP神经网络可以较好地解决黑盒问题。且随着设定参数的提升及采用的训练函数的改变,会对BP神经网络的拟合效果造成较大的影响,因此要想得到较好的拟合效果,需要设定合适的训练参数及采用对应情况下的训练函数。......

2022-06-09 17:25:08 9162 2

原创 STM32的定时器与串口综合训练学习笔记

一、关于sprintf()函数的用法sprintf(),指的是字符串格式化函数,把格式化的数据写入某个字符串中。int sprintf(char *string, char *format [,argument,…]);引入头文件 #include “stdio.h“【例】:有一个表示温度的整型变量tmp,现在要将其格式化为字符串“温度是:XX摄氏度”,并将其通过串口1发送出去。#include "stdio.h" uint8_t Str_buff[64]; sprintf(

2021-03-05 20:49:25 362

原创 STM32的串口数据收发基础学习笔记

一、串行接口相关知识点并行通信、串行通信的概念。单工、半双工、全双工的概念异步串行通信:通信双方在没有同步时钟的前提下,将一个字符(包括特定的附加位)按位进行传输的通信方式。波特率:每秒钟传输的二进制位数,如9600bpsTTL电平<—->RS232:MAX3232 SP3232串口<———>USB接口:CH340 CP2012STM32芯片的串口UASRT功能十分强大,但对于日常编程而言,使用最多的还是异步串行通信。串口1:USART1_TX与PA9

2021-03-05 20:42:30 435

原创 STM32的定时器开发基础学习笔记

一、定时器的基本概述通过滴漏和漏沙瓶这两个例子简单讲述定时器的基本工作原理。STM32的常见的定时器资源:系统嘀嗒定时器SysTick、看门狗定时器WatchDog、实时时钟RTC、基本定时器、通用定时器、高级定时器。系统嘀嗒定时器SysTick:这是一个集成在Cortex M3内核当中的定时器,它并不属于芯片厂商的外设,也就是说使用ARM内核的不同厂商,都拥有基本结构相同的系统定时器。主要目的是给RTOS提供时钟节拍做时间基准。基本定时器:TIM6、TIM7。通用定时器:TIM..

2021-02-19 20:45:23 177

原创 STM32中断系统和外部中断基础学习笔记

一、STM32的中断系统理解中断、中断源、中断向量、中断优先级、中断服务函数…等基础概念。ARM CortexM3内核支持256个中断,包括16个内核中断和240个外设中断,拥有256个中断优先级别。STM32的中断通道可能会由多个中断源共用。这就意味着,某一个中断服务函数也可能被多个中断源所共用。所以,在中断服务函数的入口处,需要有一个判断机制,用以辨别是那个中断触发了中断。STM32微处理器的内核中有一个NVIC(嵌套向量中断控制器)的设备,它对中断进行统一的协调和控制,其中最主要的工.

2021-02-18 22:07:59 548

原创 STM32按键实验学习笔记

一、按键扫描的基本原理按键信号是如何识别的?一般来说,按键的两个引脚的一端通过电阻上拉到高电平,另一端则接地。在没有按键按下的时候,输入引脚为高电平,当有按键按下,输入引脚则为低电平。通过反复读取按键输入引脚的信号,然后识别高低电平来判断是否有按键触发。为什么去抖动?按键的输入引脚有低电平产生不代表一定是有按键按下,也许是干扰信号 , 因此,需要通过去抖动处理,将这些干扰信号过滤,从而获得真实的按键触发信号。如何去抖动?首次检测到按键输入引脚有低电平后,稍作延时,再次读取该.

2021-02-16 14:00:51 857

原创 STM32系统结构图理解及GPIO学习笔记

一、STM32系统结构图STM32主系统主要由四个驱动单元和四个被动单元构成。四个驱动单元是:(图中②③④)①内核DCode总线 ②系统总线 ③通用DMA1 ④通用DMA2四个被动单元是:(图中⑥⑦⑧⑨)①AHB到APB的桥:连接所有的APB设备 ②内部flash闪存 ③内部SRAM ④FSMC下面是图中几个总线的知识:①ICode总线:该总线将M3内核指令总线和闪存指令接口相连,指令的预取在该总线上面完成。②DCode总线:该总线将M3内核的...

2021-02-08 10:42:23 7697

原创 嵌入式C第四次任务学习记录

一、结构体的参数传递其实这一点之前已经谈到过了,就是结构作为函数参数进行传递参数。我们可以把结构作为函数参数,传参方式与其他类型的变量或指针类似。我们可以使用上面实例中的方式来访问结构变量:实例:#include <stdio.h>#include <string.h> struct Books{ char title[50]; char author[50]; char subject[100]; int book_id;

2021-02-05 14:13:16 108

原创 嵌入式C第三次任务学习记录

一、内存操作C 语言为内存的分配和管理提供了几个函数。这些函数可以在<stdlib.h>头文件中找到。(个人感觉:内存操作的几个函数的作用就是相当于设置动态数组,能够实时变化以适应我们的需求)序号 函数和描述 1 void *calloc(int num, int size); 在内存中动态地分配 num 个长度为 size 的连续空间,并将每一个字节都初始化为 0。所以它的结果是分配了 num*size 个字节长度的内存空间,并且每个字节的值都是0。 2..

2021-02-04 11:35:27 87

原创 嵌入式C第二次任务学习记录

一、TypedefC 语言提供了typedef关键字,我们可以使用它来为类型取一个新的名字。(个人感觉:就是定义一个行的变量关键词,一种自定义变量类型)下面的实例为单字节数字定义了一个术语BYTE(大小写都可以):typedef unsigned char BYTE;在这个类型定义之后,标识符 BYTE 可作为类型unsigned char的缩写,例如:BYTE b1, b2;我们也可以使用typedef来为用户自定义的数据类型取一个新的名字。例如,可以对结构体使...

2021-02-03 17:46:51 140

原创 嵌入式C第一次任务学习记录

一、位运算

2021-02-02 16:57:43 158 6

空空如也

空空如也

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

TA关注的人

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