🚀writeinfront🚀📝个人主页:认真写博客的夏目浅石.📣系列专栏:AcWing算法笔记今天的月色好美文章目录前言一、前缀和算法1.1什么是前缀和?1.2一维前缀和二、二维前缀和三、一维差分四、二维差分总结前言这里介绍以下前缀和算法以及差分算法,用来梳理自己所学到的算法知识。一、前缀和算法1.1什么是前缀和?从我的理解角度来讲:前缀和就是高中数学当中的数列的求和Sn,差分就是前缀和的逆运算,就是递推公式。1.2一维前缀和先来看一道题目吧:这是之前训练的时候的一道经典的前缀和问题,我们很容易想到暴力作法:遍历数组代码如下:#includeconstintN=1e5+10;inta[N];i
🚀writeinfront🚀📝个人主页:认真写博客的夏目浅石.📣系列专栏:AcWing算法笔记今天的月色好美文章目录前言一、前缀和算法1.1什么是前缀和?1.2一维前缀和二、二维前缀和三、一维差分四、二维差分总结前言这里介绍以下前缀和算法以及差分算法,用来梳理自己所学到的算法知识。一、前缀和算法1.1什么是前缀和?从我的理解角度来讲:前缀和就是高中数学当中的数列的求和Sn,差分就是前缀和的逆运算,就是递推公式。1.2一维前缀和先来看一道题目吧:这是之前训练的时候的一道经典的前缀和问题,我们很容易想到暴力作法:遍历数组代码如下:#includeconstintN=1e5+10;inta[N];i
文章目录前言一、LCD显示控制1.LCD显示一个字符2.LCD显示多个字符二、数字时钟输出1.数字时钟2.十进制数据拆分BCD码三、按键检测及LCD驱动1.按键检测2.LCD驱动四、总结前言软件实现了在4.3寸LCD左上角显示一个数字时钟,效果如下图所示。本文针对VGA/LCD控制时许有一定基础的人群,博主的开发环境为Quartus13.1和一个随便哪家的开发板,使用4.3寸LCD(RGB565接口),兼容VGA,但是相关参数需要更改。软件中部分代码模块借用野火电子的软件,感谢。后文以LCD进行说明。获取源代码、字模软件、rom初始化文件等点击此处一、LCD显示控制1.LCD显示一个字符LCD
文章目录前言一、LCD显示控制1.LCD显示一个字符2.LCD显示多个字符二、数字时钟输出1.数字时钟2.十进制数据拆分BCD码三、按键检测及LCD驱动1.按键检测2.LCD驱动四、总结前言软件实现了在4.3寸LCD左上角显示一个数字时钟,效果如下图所示。本文针对VGA/LCD控制时许有一定基础的人群,博主的开发环境为Quartus13.1和一个随便哪家的开发板,使用4.3寸LCD(RGB565接口),兼容VGA,但是相关参数需要更改。软件中部分代码模块借用野火电子的软件,感谢。后文以LCD进行说明。获取源代码、字模软件、rom初始化文件等点击此处一、LCD显示控制1.LCD显示一个字符LCD
很多没有系统学习FPGA开发的小伙伴可能在初学时不太在意时序约束,简单的项目工程可能不会有很大的影响,代码无误配脚正确基本上能成功运行。涉及到有多个时钟时如果不注意很容易弄混淆,加之没有进行时序约束,难以对错误位置进行定位。由于博主也是野路子入门,有些地方理解可能有误,仅将自己的心得体会分享,希望能对初学者有所帮助。如有错误欢迎大佬指正。下面进入正题方法1:使用时钟约束向导在我们综合完成后,如果没有进行时序约束会看到如下警告打开TimeQuesttiminganalyzer,单击Clocks可以看到时钟默认1000mhz,这显然是违例的。 选择要约束的时钟信号(我这里只有一个全局时钟),右键选
很多没有系统学习FPGA开发的小伙伴可能在初学时不太在意时序约束,简单的项目工程可能不会有很大的影响,代码无误配脚正确基本上能成功运行。涉及到有多个时钟时如果不注意很容易弄混淆,加之没有进行时序约束,难以对错误位置进行定位。由于博主也是野路子入门,有些地方理解可能有误,仅将自己的心得体会分享,希望能对初学者有所帮助。如有错误欢迎大佬指正。下面进入正题方法1:使用时钟约束向导在我们综合完成后,如果没有进行时序约束会看到如下警告打开TimeQuesttiminganalyzer,单击Clocks可以看到时钟默认1000mhz,这显然是违例的。 选择要约束的时钟信号(我这里只有一个全局时钟),右键选
本篇文章仅用于个人学习,如有雷同,我抄他的。跨时钟域是每个FPGA初学者都会遇到的问题,跨时钟域分情况有以下几种:单bit跨时钟域慢时钟域到快时钟域快时钟域到慢时钟域多bit跨时钟域 单bit跨时钟域慢时钟域到快时钟域 首先谈谈单bit数据的跨时钟域问题,当从慢时钟域到快时钟域时,常用方法为打两拍。首先快时钟域是肯定可以采集到慢时钟域的数据的,所以需要解决的就是亚稳态的问题。打两拍的基本原理就是,数据(处于10Mhz时钟下)在跳变过程中不是瞬时的,总有一个跳变时间。如果在clk(处于125Mhz下)的上升沿采集到了数据的跳变过程时,此时的数据是不确定的,可能是1,可能是0
本篇文章仅用于个人学习,如有雷同,我抄他的。跨时钟域是每个FPGA初学者都会遇到的问题,跨时钟域分情况有以下几种:单bit跨时钟域慢时钟域到快时钟域快时钟域到慢时钟域多bit跨时钟域 单bit跨时钟域慢时钟域到快时钟域 首先谈谈单bit数据的跨时钟域问题,当从慢时钟域到快时钟域时,常用方法为打两拍。首先快时钟域是肯定可以采集到慢时钟域的数据的,所以需要解决的就是亚稳态的问题。打两拍的基本原理就是,数据(处于10Mhz时钟下)在跳变过程中不是瞬时的,总有一个跳变时间。如果在clk(处于125Mhz下)的上升沿采集到了数据的跳变过程时,此时的数据是不确定的,可能是1,可能是0
编号:34基于STM32的电子时钟设计(DS1302)时钟、秒表、倒计时功能描述: 本系统由STM32F103系统+LCD1602液晶显示+按键模块+DS1302时钟模块+声光报警模块组成。1、使用LCD1602显示当前日期、时间、星期2、具有闹钟、倒计时、计时功能,时间到达后通过声光报警模块报警3、通过按键进行时间、日期的设置和调整4、系统关闭以后能保持时间值不丢失注意:只能使用Proteus8.11版本视频演示链接:34、基于STM32的电子时钟设计(DS1302)时钟、秒表、倒计时仿真图: 倒计时:秒表: 时间设定:程序源码:/****************************
编号:34基于STM32的电子时钟设计(DS1302)时钟、秒表、倒计时功能描述: 本系统由STM32F103系统+LCD1602液晶显示+按键模块+DS1302时钟模块+声光报警模块组成。1、使用LCD1602显示当前日期、时间、星期2、具有闹钟、倒计时、计时功能,时间到达后通过声光报警模块报警3、通过按键进行时间、日期的设置和调整4、系统关闭以后能保持时间值不丢失注意:只能使用Proteus8.11版本视频演示链接:34、基于STM32的电子时钟设计(DS1302)时钟、秒表、倒计时仿真图: 倒计时:秒表: 时间设定:程序源码:/****************************