<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lemonsea_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lemonsea_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lemonsea_]]></copyright><item><title><![CDATA[idea没有database，识别不出sql语句的原因，用不了mybatis-generator的原因]]></title><link>https://blog.youkuaiyun.com/lemonsea_/article/details/132045799</link><guid>https://blog.youkuaiyun.com/lemonsea_/article/details/132045799</guid><author>lemonsea_</author><pubDate>Tue, 01 Aug 2023 16:45:01 +0800</pubDate><description><![CDATA[最后发现原因很简单，下载的是idea社区版，跟sql有关的功能都没有办法用。下了旗舰版后，这些问题都能解决。昨天搜遍全网教程，下载了插件，各种改配置都没有办法。安装包官网下载地址（可以选择版本下载）旗舰版需要破解，可以自行寻找教程。]]></description><category></category></item><item><title><![CDATA[Spring学习笔记]]></title><link>https://blog.youkuaiyun.com/lemonsea_/article/details/131777163</link><guid>https://blog.youkuaiyun.com/lemonsea_/article/details/131777163</guid><author>lemonsea_</author><pubDate>Wed, 26 Jul 2023 10:05:26 +0800</pubDate><description><![CDATA[1.在使用对象时，在程序中不要主动使用new产生对象，转为外部提供对象2.创建控制权转移到外部，这种思想--IOC控制反转spring 提供容器，IOC容器，用来充当IOC思想的外部IOC容器负责对象创建，初始化，这些对象叫bean3.DI依赖注入在容器中建立bean 与bean之间依赖关系的过程最终效果：使用对象时不仅可以直接从IOC中获取，并且获取到bean已经绑定了的所有依赖关系。]]></description><category></category></item><item><title><![CDATA[IDEA快捷键]]></title><link>https://blog.youkuaiyun.com/lemonsea_/article/details/131761462</link><guid>https://blog.youkuaiyun.com/lemonsea_/article/details/131761462</guid><author>lemonsea_</author><pubDate>Mon, 17 Jul 2023 11:00:31 +0800</pubDate><description><![CDATA[ctrl +shift +鼠标左键。想要看类源码 双击 shift。看某个方法参数：CTRL +p。ctrl +alt +左右。自动修复 ctrl +回车。service层到实现类。]]></description><category></category></item><item><title><![CDATA[迷宫dfs（蓝桥杯C/C++)|dfs作法详解]]></title><link>https://blog.youkuaiyun.com/lemonsea_/article/details/129874913</link><guid>https://blog.youkuaiyun.com/lemonsea_/article/details/129874913</guid><author>lemonsea_</author><pubDate>Fri, 31 Mar 2023 12:13:31 +0800</pubDate><description><![CDATA[(1)存放所有数据的map1[N][M],用char类型记得后面判断需要写成map[x][y]==' ';(2)dir[][]存放搜索方向，路径名称集合string[],char a[]存储走过的路径（3）mins[N][M]到达每个点最短步数。]]></description><category></category></item><item><title><![CDATA[MYSQL--DDL操作数据库，表]]></title><link>https://blog.youkuaiyun.com/lemonsea_/article/details/129107626</link><guid>https://blog.youkuaiyun.com/lemonsea_/article/details/129107626</guid><author>lemonsea_</author><pubDate>Sun, 26 Feb 2023 09:53:46 +0800</pubDate><description><![CDATA[数据定义语言数据库操作查询所有数据库：查询当前数据库：创建数据库：CREATE DATABASE [ IF NOT EXISTS ] 数据库名 [ DEFAULT CHARSET 字符集] [COLLATE 排序规则 ];删除数据库：DROP DATABASE [ IF EXISTS ] 数据库名;使用数据库：USE 数据库名;]]></description><category></category></item><item><title><![CDATA[蓝桥杯 游园安排]]></title><link>https://blog.youkuaiyun.com/lemonsea_/article/details/129130616</link><guid>https://blog.youkuaiyun.com/lemonsea_/article/details/129130616</guid><author>lemonsea_</author><pubDate>Mon, 20 Feb 2023 19:56:22 +0800</pubDate><description><![CDATA[蓝桥杯 游园安排。]]></description><category></category></item><item><title><![CDATA[蓝桥杯·游园安排]]></title><link>https://blog.youkuaiyun.com/lemonsea_/article/details/129114119</link><guid>https://blog.youkuaiyun.com/lemonsea_/article/details/129114119</guid><author>lemonsea_</author><pubDate>Sun, 19 Feb 2023 20:33:58 +0800</pubDate><description><![CDATA[2. *max_element(f+1,f+n+1) 选取数组中最大值。string res;1.按首字母拆分人名。]]></description><category></category></item><item><title><![CDATA[蓝桥杯01，setprecision(n)＜＜fixed的用法]]></title><link>https://blog.youkuaiyun.com/lemonsea_/article/details/128368981</link><guid>https://blog.youkuaiyun.com/lemonsea_/article/details/128368981</guid><author>lemonsea_</author><pubDate>Mon, 19 Dec 2022 09:59:35 +0800</pubDate><description><![CDATA[输入的第一行包含一个整数 n\ (1 \leq n \leq 10^4)n (1≤n≤104)，表示考试人数。小蓝给学生们组织了一场考试，卷面总分为 100 分，每个学生的得分都是一个 0 到 100 的整数。输出两行，每行一个百分数，分别表示及格率和优秀率。如果得分至少是 60 分，则称为及格。如果得分至少为 85 分，则称为优秀。接下来 nn 行，每行包含一个 0 至 100 的整数，表示一个学生的得分。请计算及格率和优秀率，用百分数表示，百分号前的部分四舍五入保留整 数。]]></description><category></category></item><item><title><![CDATA[stm32学习笔记 AFIO重映射功能 以TIM2的CH1可以从PA0挪动到PA15的引脚上距离为例]]></title><link>https://blog.youkuaiyun.com/lemonsea_/article/details/127939008</link><guid>https://blog.youkuaiyun.com/lemonsea_/article/details/127939008</guid><author>lemonsea_</author><pubDate>Sat, 19 Nov 2022 17:38:16 +0800</pubDate><description><![CDATA[首先在STM32F103C8T6引脚定义的图里找到是否有可以复用的引脚，因为我们的TIM2_CH1_ETR的数据是在引脚PA0上显示，如果要换，根据此表只能换到PA15。因为举例子的是PA15其原本是JDTI调试端口，故第三行参数1是GPIO_Remap_SWJ_JTAGDisable。如果为其他可以参考下文。]]></description><category></category></item><item><title><![CDATA[STM32 有关中断函数编程建议 OLED显示错误]]></title><link>https://blog.youkuaiyun.com/lemonsea_/article/details/127934634</link><guid>https://blog.youkuaiyun.com/lemonsea_/article/details/127934634</guid><author>lemonsea_</author><pubDate>Sat, 19 Nov 2022 11:33:54 +0800</pubDate><description><![CDATA[1.在中断函数中，最好不要执行耗时间过长的代码，中断函数要简短快速。否则主程序会有严重的堵塞。2.尽量不要在中断函数与主函数调用相同的函数或者操作同一个硬件。为什么OLED会显示错误
如果在主程序里和中断里都调用OLED。对于外部硬件不像CPU 有现场保护，中断返回后可能会出现问题。

可以在中断里操作变量或者标志位，当中断返回时，再对这个变量进行显示和操作。

例如 对射式红外传感器计次时，只操作变量，然后在OLED显示函数中调用返回CountSensor_Count的函数]]></description><category></category></item><item><title><![CDATA[stm32学习 OLED调试和Keil调试模式]]></title><link>https://blog.youkuaiyun.com/lemonsea_/article/details/127930211</link><guid>https://blog.youkuaiyun.com/lemonsea_/article/details/127930211</guid><author>lemonsea_</author><pubDate>Fri, 18 Nov 2022 22:36:24 +0800</pubDate><description><![CDATA[分别为复位，向下运行直到有断点，停止运行，向下一步，跳过此步，跳出函数跳到光标指定处。串口调试：使用串口通信，将信息发送致电脑。OLED通信协议一般是I2C通信。显示屏调试：显示屏接在单片机上。一.stm32调试方式有哪些？二.Keil调试模式


点击进入调试模式]]></description><category></category></item><item><title><![CDATA[stm32学习笔记 GPIO用法总结]]></title><link>https://blog.youkuaiyun.com/lemonsea_/article/details/127918211</link><guid>https://blog.youkuaiyun.com/lemonsea_/article/details/127918211</guid><author>lemonsea_</author><pubDate>Fri, 18 Nov 2022 21:36:32 +0800</pubDate><description><![CDATA[最近stm32f103的最小系统板到了，复习+实操了LED闪烁，流水灯，按键点亮LED，蜂鸣器等。浅浅总结一下。发光二极管脚长是正极，内部较小是正极为什么要模块化编程？
模块化编程，尽量把每个硬件的驱动函数提取出来，封装在.c,.h文件中，简化主函数逻辑

一些小Tip
1.发光二极管脚长是正极，内部较小是正极

2.插面包板插不上怎么办？ 先用杜邦线插一些然后大力出奇迹]]></description><category></category></item><item><title><![CDATA[stm32学习笔记 ADC模拟数字转换器 ADC模数转化器详解]]></title><link>https://blog.youkuaiyun.com/lemonsea_/article/details/127873504</link><guid>https://blog.youkuaiyun.com/lemonsea_/article/details/127873504</guid><author>lemonsea_</author><pubDate>Tue, 15 Nov 2022 22:21:42 +0800</pubDate><description><![CDATA[PS：PWM也是数字到模拟的桥梁，在直流电机调速这种大功率应用场景，选择PWM等效模拟量而非DAC1.ADC（Analog-Digital Converter）模拟-数字转换器2.ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量，建立模拟电路到数字电路的桥梁3 . 12位逐次逼近型ADC，1us转换时间输入电压范围：0~3.3V，转换结果范围：0~4095（3.3对应4095）4. 18个输入通道，可测量16个外部和2个内部信号源5. 规则组和注入组两个转换单元。]]></description><category></category></item><item><title><![CDATA[stm32学习笔记 TIM输出比较 PWM驱动舵机（含代码）]]></title><link>https://blog.youkuaiyun.com/lemonsea_/article/details/127874262</link><guid>https://blog.youkuaiyun.com/lemonsea_/article/details/127874262</guid><author>lemonsea_</author><pubDate>Tue, 15 Nov 2022 21:35:01 +0800</pubDate><description><![CDATA[OC（Output Compare）输出比较 输出比较可以通过比较CNT与CCR寄存器值的关系，来对输出电平进行置1、置0或翻转的操作，用于输出一定频率和占空比的PWM波形 每个高级定时器和通用定时器都拥有4个输出比较通道 高级定时器的前3个通道额外拥有死区生成和互补输出的功能（1）输出比较电路可以通过比较CNT计数器和CCR捕获/比较寄存器的关系，来对输出电平进行置1，置0，反转操作，用于输出一丁 频率和占空占比的PWM（脉冲宽度调制）（2）有惯性的系统才能用PWM。]]></description><category></category></item><item><title><![CDATA[stm32学习笔记 TIM输入捕获]]></title><link>https://blog.youkuaiyun.com/lemonsea_/article/details/127847479</link><guid>https://blog.youkuaiyun.com/lemonsea_/article/details/127847479</guid><author>lemonsea_</author><pubDate>Mon, 14 Nov 2022 17:05:36 +0800</pubDate><description><![CDATA[输入捕获模式下，当通道输入引脚出现指定电平跳变时，当前CNT的值将被锁存到CCR中，可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数 每个高级定时器和通用定时器都拥有4个输入捕获通道。经过不同输入滤波器和边沿检测器后CH1和CH2的输入交叉连接因为：一个引脚的输入同时映射到两个捕获单元。分频后的信号可以触发捕获电路工作，每来一个触发信号，CNT的值就会向CCR转运。每来一个上升沿取CNT的值，自动存在CCR里，CCR捕获到的值，就是计数器N。ARR，CNT上限65535，频率太低会溢出。]]></description><category></category></item><item><title><![CDATA[字符串模式匹配pta（KMP）分析KMP算法]]></title><link>https://blog.youkuaiyun.com/lemonsea_/article/details/127841511</link><guid>https://blog.youkuaiyun.com/lemonsea_/article/details/127841511</guid><author>lemonsea_</author><pubDate>Mon, 14 Nov 2022 10:18:06 +0800</pubDate><description><![CDATA[给定一个字符串 text 和一个模式串 pattern，求 pattern 在text 中的出现次数。text 和 pattern 中的字符均为英语大写字母或小写字母。text中不同位置出现的pattern 可重叠。笔者刚开始学习KMP算法时看了很多文章，教程还是不太懂，现在总算是弄懂了。

为了避免朴素算法的低效，所以前辈们设计出了一个模式匹配算法，可以大大避免重复遍历的情况即KMP算法

我认为KMP算法的关键在于对要查找的字符串在比较前先做一个分析，减少查找难度。遍历分析这个字符串，得到当前字符串的前]]></description><category></category></item><item><title><![CDATA[stm32技巧 如何避免刚初始化就进入中断]]></title><link>https://blog.youkuaiyun.com/lemonsea_/article/details/127838433</link><guid>https://blog.youkuaiyun.com/lemonsea_/article/details/127838433</guid><author>lemonsea_</author><pubDate>Sun, 13 Nov 2022 22:17:45 +0800</pubDate><description><![CDATA[预分频器有个缓冲寄存器，我们写的值只有更新事件时才会其作用。为了让值立刻起作用，默认在最后手动生成一个更新事件。副作用就是更新事件和更新中断同时发生。更新中断会使中断标志位，一旦初始化完成，更新中断会立刻进入。在通过定时器进行例如累加操作时，为避免刚初始化就进入中断可以加上这个函数。在TImeBaseInit 后开启中断前调用。]]></description><category></category></item><item><title><![CDATA[stm32学习笔记 TIM定时器中断1.定时器基本定时功能（含代码）]]></title><link>https://blog.youkuaiyun.com/lemonsea_/article/details/127789473</link><guid>https://blog.youkuaiyun.com/lemonsea_/article/details/127789473</guid><author>lemonsea_</author><pubDate>Sun, 13 Nov 2022 21:56:36 +0800</pubDate><description><![CDATA[TIM定时器分四个部分RCC时钟树SystmInit函数外部晶振出问题会导致程序时钟慢了十倍RCC内部时钟。
通用定时器 TIM2-5 APB1总线
外部时钟ETR/TRGI

TRGI---外部时钟模式1，它还有触发输入和从模式

ITR信号

ETR，外部引脚---外部时钟模式2 配置极性选择，边沿检测，预分频器

黄字是时基单元

基本定时器 TIM6-7 APB1
只能选择内部时钟72MHZ

预分频器对时钟进行预分频，计数器自增计数，当计数值达到自动重装值时，计数值清零更新中断和更新事件

预]]></description><category></category></item><item><title><![CDATA[stm32EXTI外部中断笔记]]></title><link>https://blog.youkuaiyun.com/lemonsea_/article/details/127776979</link><guid>https://blog.youkuaiyun.com/lemonsea_/article/details/127776979</guid><author>lemonsea_</author><pubDate>Thu, 10 Nov 2022 15:06:58 +0800</pubDate><description><![CDATA[中断：使CPU暂停当前正在运行的程序，从而去处理中断程序，处理完成后返回被暂停的位置继续运行。适合外部中断的--对于stm32来说，想要获取信号是外部驱动的很快的突发信号。没有定时器中断，主程序只靠Delay函数，才能实现定时功能。事件相应不会触发中断，触发别的外设，属于外设之间联合工作。---AFIO中断引脚选择。中断中中断去执行更高优先级的----中断嵌套。中断写在函数里，中断来临时由硬件自动调用，监测程序运行状态的中断---窗口看门狗。中断通道，由NVIC统一管理中断。---不用等上一个处理完。]]></description><category></category></item><item><title><![CDATA[stm32江科大自化协笔记01.GPIO]]></title><link>https://blog.youkuaiyun.com/lemonsea_/article/details/127758781</link><guid>https://blog.youkuaiyun.com/lemonsea_/article/details/127758781</guid><author>lemonsea_</author><pubDate>Tue, 08 Nov 2022 21:59:47 +0800</pubDate><description><![CDATA[输入模式下可以读取端口的高低电平或电压，用于读取按键输入，外接模块电平信号输入（光敏，热敏模块），ADC电压采集，模拟通信协议接收数据。施密特触发器----设置阈值，高于上线输出高，低于下限输出低（用于整型）输出数据寄存器---普通IO口输出（按位与or按位或）上面导通，下面断开,上拉 ----默认高电平输入方式。推挽模式：P-MOS（上），N-MOS 均有效强推。下通上断    下拉   ------默认低电平。模拟输入---ADC,ADC接收模拟量。复用功能输入-----接收数字量。]]></description><category></category></item></channel></rss>