自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(78)
  • 资源 (2)
  • 收藏
  • 关注

原创 无源滤波器设计与选型

无源滤波器设计与选型简介:无源滤波器,顾名思义,就是不需要额外提供电源。滤波器一般是由电容器、电感和电阻适当组合而成。有源滤波器就需要用到运放等。无源滤波电路的结构简单,易于设计,但它的通带放大倍数及其截止频率都随负载而变化,因而不适用于信号处理要求高的场合,一般我是用来接在DC-DC的电源后面消除纹波干扰,因为DC-DC电源虽然效率高,但是由于开关管的噪声会导致输出电压具有纹波,这种直流电压如果直接给运放等芯片供电的话明显是不合格的。在B站的一篇文章里写到LC输出滤波器可以抑制电源的高频纹波,

2021-08-05 14:04:38 4992

原创 MATLAB学习之均值滤波

均值滤波会模糊图像,且适用于高斯噪声,对椒盐噪声情况并不良好。img=imread("dragon.png");subplot(1,1,1);imshow(img);imgn=imnoise(img,"gaussian",0,0.01);subplot(1,1,1);imshow(imgn);%3*3 均值滤波[m,n]=size(img);for i=2:1:m-1 f...

2020-03-04 21:59:43 1268

原创 MATLAB学习之中值滤波

33中值滤波指在33方格里,最中间方格等于9个方格的中值。这个滤波方式对于椒盐噪声效果很好。(均值滤波对于高斯噪声效果好matlab代码img=imread("dragon.png");subplot(1,1,1);imshow(img);imgn=imnoise(img,"salt & pepper",0.05);subplot(1,1,1);imshow(imgn)...

2020-03-03 23:44:13 449

原创 蓝桥杯正式学习日记02

今天终于搞明白EXTI_GetFlagStatus和EXTI_GetITStatus区别是什么?答:如果设置了中断标志位并且没有屏蔽。那么发生中断的时候EXTI_GetFlagStatus会SET,EXTI_GetITStatus也会SET。如果设置中断标志位但是屏蔽了。那么发生中断的时候EXTI_GetFlagStatus会SET,EXTI_GetITStatus也会RESET。也就是...

2020-02-21 22:30:33 285

原创 蓝桥杯正式学习日记

在一个demo里看到这个__IO uint32_t 类型,查阅以后得知 _IO 是指静态 volatile。volatile这个修饰这个变量可以被除了软件以外的硬件访问,因为systick是硬件定时器嘛取消通过cache访问值,而是直接去通过地址访问值(因为可以被很多东西修改,cache里面的值可能过期了,不是当前的值)。...

2020-02-20 22:29:34 139

原创 硬件电路设计之升压/降压电路

最近一直在研究傅里叶变换和拉普拉斯变化更新也就慢了我们先说升压变换器。这张图里晶体管(MOS管?)充当的是开关的作用。当开关闭合的时候电源给电感充电,当开关断开的时候电感和电源给电容充电(此时电流很大)很容易使电容两端的电压大于电源两端的电压,实现了升压过程。然后电感能量耗尽,开关再次闭合充电。依次反复,我们可以通过开关的开闭合时间来控制升压的大小。这个电路里二极管是防止从电容出...

2020-02-19 22:02:12 2865 5

原创 蓝桥杯嵌入式学习STM32之模拟IIC

开学了…博客更新可能不会很频繁了。而且我的stm32系统学习路程也快接近尾声了,下面就是不断的练习保持手感。今天主要是背代码,模拟IIC必须要脱手而出。STM32F1系列的硬件IIC据说会有bug,所以为了保证比赛不出现为止bug我选择模拟IIC。对了IIC读作I方C,而不是I双C//³õʼ»¯IICvoid IIC_Init(void){ GPIO_In...

2020-02-17 14:25:53 1193

原创 蓝桥杯嵌入式学习STM32之DAC实验

DAC相当于ADC的逆过程,类似于给你一个数值,比如说2000,按照和4096比例换算,再乘以3.3V输出。实现了数字转模拟的功能。系统框图分别接好模拟电源和模拟地。再接好参考电压(3.3V)。然后我们通过往DHR寄存器写入值,系统在收到触发信号以后内部经过转化到DOR寄存器,然后输出。输出引脚要设置成模拟输入。小知识但是输出缓存会导致无法输出0.常用寄存器以DAC1为...

2020-02-15 17:46:04 863 1

原创 蓝桥杯嵌入式学习STM32之ADC模数转换器

模数转换器。举个例子就懂了。模拟量可以无限细分是连续的,处理起来很复杂。我们用数字去近似,变成离散的,比如12位的寄存器,那么就有4096种情况,如果参考电压设置的是3.3v,那么就可以用0-4096之间的某个值来表述电压大小,每一位代表3.3/4096.重要引脚框图讲解...

2020-02-14 01:15:19 525

原创 手把手教你用CLION加上STM32Cubemx打造无敌STM32开发环境

众所周知,STM32的常规开发环境是KEIL MDK5,但是这个编译器在很多方面做的不尽如人意,敲起代码来一点B格也没有(划重点 ),而且随着年代的更迭,标准固件库终将要退出历史的舞台(就和XP,WIN7一样),他的爸爸ST(意法半导体)已经在逐渐的放弃标准固件库了,可以说他是没有未来的。同时有一款新的开发工具STM32CubeMX,利用可视化的界面轻松完成时钟的配置和端口的选择。来感受一下:...

2020-02-13 19:07:02 5245 2

原创 硬件电路学习之开尔文电桥双臂讲解

今天调试了一整天的环境CLION+STM32cubemx搭配。废话不多说,这个会开一个新的章节。开尔文电桥的起因是群里有一个人问我的…然后我就顺便学了一下。先说说特点吧,大家最耳熟能详的是惠斯通电桥,但是惠斯通电桥如果测特别小的电阻(1欧姆以下)这种量级就不可以了,因为电阻接触处以及导线也有电阻(大约1e-2到1e-4ohm),误差较大。而开尔文电桥通过四端引线法和巧妙的电路结构使得导线...

2020-02-13 01:38:41 5042

原创 硬件电路设计之按键消抖(利用瞬态抑制二极管TVS加低通滤波器)

随着STM32快要完结,我又要开新坑了。这个栏目主要分享我当天学到的硬件电路设计。今天学到的是利用TVS(也就是瞬态抑制二极管)和一阶低通滤波器构成的硬件消抖模块。电路大致结构如下图所示:众所周知,按键消抖可以用软件消抖,也就是延时函数,一般delay取值在10ms左右。但是软件消抖有一个坏处,单片机触发外部中断进入中断服务函数时,如果在中断函数延时会在一定程度上影响单片机的性能。唯...

2020-02-11 22:55:46 5155 1

原创 蓝桥杯嵌入式学习STM32之RTC时钟原理及配置

RTC时钟原理单片机内部有一块断电不丢失的寄存器(由额外电池一般是纽扣电池供电),每隔1s加1,然后记录的是与1970年1月1日0时的秒差。工作原理细解RTC模块的一些配置是被一个叫做后备区域保护着(禁止写),所以设置之前要先取消后备区域写保护。首先RTC CLK有三个来源。最主要的是外部低速晶振。其他两个来源我懒得打了,可以参考时钟讲解。RTC_DIV会随着预装载得值减到0然后产生一...

2020-02-11 01:19:27 905

原创 STM32学习之USMART使用

看到没有,我不是标题党,这个蓝桥杯用不了我就没加!!USMART是正点原子推出的一款利用串口通信方便调参的工具。简单来说:一般情况下函数的入口参数调整很麻烦,你需要1.改变参数2.编译3.下载4.观察用了USMART以后,只需要1.串口发送你需要的参数2.观察这样子很方便也很舒服。...

2020-02-09 19:09:45 2465

原创 蓝桥杯嵌入式学习STM32之FSMC详解

我刚刚打标题才发现我好像一直打着蓝桥杯的名号写一些和比赛不是很有关的blog。其实我早就感觉到了,我故意的才不是为了骗访问量好了言归正传前排提醒,本BLOG是通过用FSMC控制LCD驱动为例讲解,并不是针对FSMC讲解驱动原理FSMC:灵活的静态储存控制器。以下都是我个人的理解,可能不是很官方准确,但是绝对是人话!!!保证能看懂。FSMC我感觉是意法半导体公司为了方便用户使用一些...

2020-02-08 03:46:43 1464

原创 蓝桥杯嵌入式学习STM32之TFT LCD屏幕(80并口)

不知不觉居然少了一天??!!!啊啊啊我明明是日更博主,怎么漏了一天????(我才不知道呢言归正传,在正点原子的学习进程中这章应该是触摸按键但是我感觉那个好难啊,要检查充放电时间什么的。。。等过几天吧然后后面还有一个OLED屏幕但是我好像没有OLED模块,就算有也肯定没带回来,所以就到了LCD屏幕了,而且蓝桥杯用的也是这个ヾ(≧▽≦*)o1. 驱动原理目前各类液晶显示器用的是in...

2020-02-08 00:21:44 2357

原创 蓝桥杯嵌入式学习STM32之输入捕获

真的每天都要写博客我已经要吐了我快坚持不下去了啊啊啊啊难受今日知识点区别&按位与&&逻辑与优先级关系!>&&>||工作流程TI1接收到输入信号(此处可以考虑是否要滤除一些短暂的脉冲,毛刺),然后交给边沿监测(你可以设置检验上边沿还是下边沿),然后选择是否要映射(你可以将数据传到IC1,也可以映射到IC2;同理IC...

2020-02-06 01:27:47 688

原创 蓝桥杯嵌入式学习STM32之PWM生成

有个关于预装载ARPE的问题我一直没弄懂。希望未来的的我能搞明白并且回来完善这篇文章。不过我也不是什么都没做,我找了一篇挺棒的博客,虽然看的似懂非懂,但是有点感觉了,不过让我表述出来还是不行的。博客其实内容很简单,控制计数器从0到ARR(预设置的值),再设置一个用来比较的值CCRx,如果比CCRx小就输出低电平,反之高电平。从这个例子很轻松就可以看出ARR控制频率(当然是在相同的时钟条件下...

2020-02-05 02:29:23 436

原创 蓝桥杯嵌入式学习STM32之定时器中断TIM

题外话STM32在进行IO翻转操作的时候可以使用以下方法:以PE.5为例GPIO_WriteBit(GPIOE,GPIO_Pin_5,(BitAction)(1-(GPIO_ReadOutputDataBit(GPIOE,GPIO_Pin_5))));GPIO_WriteBit(GPIOE, GPIO_Pin_5, (BitAction)!GPIO_ReadOutputDataBit(GPI...

2020-02-03 22:51:54 938

原创 蓝桥杯嵌入式学习STM32之通用定时器基础

这一篇只有基本原理讲解,没有代码。定时器定时器顾名思义就计时的好了,本章完结。可恶居然不能大段空白。。。。三种定时器的区别牛逼程度依次递减特点现在看不懂问题也不大上图是解释下图2的流程图一、时钟来源二、操控三、输入通道从输入通道来的数据进行比较啊,输入捕获,然后算上升沿和下降沿之间的时间:占空比啊(算时间)四、输出输出pwm啊设定某一个值,比他大...

2020-02-02 23:39:21 264

原创 蓝桥杯嵌入式学习STM32之窗口看门狗(WWDG)及一直复位的解决办法

我不知道为什么,最近真的学腻了什么东西都学不下去效率好差劲心太浮躁了唉去TMD的单片机靠简单介绍窗口看门狗就是必须在某个限定的时间段喂狗才不复位,喂早了喂晚了都不行。为什么要这样的,就是怕用普通的喂狗,万一bug里自带喂狗就不好了,在一个狭窄的时间段里,这样程序的精确性会大大提高。为啥叫窗口?你听过窗口比较器么,还有滤波器(不过人家叫带通,带阻)自己类比去吧,程序员的脑子...

2020-02-02 00:50:28 2525

原创 蓝桥杯嵌入式学习STM32之独立看门狗

看门狗这个东西我觉得好好玩啊。狗狗帮忙看家护院(监测程序),还要定时投喂。//你要是真信了就太天真了( ̄_, ̄ )其实这只狗一点都不会看家护院,反而还挺会捣乱还特能吃。你,也就是主人每隔一端时间就要给他加饭,不然他吃完了就会给你捣蛋。这样想的话,狗狗不捣蛋说明有人给他加饭,说明你还活着,很正常。万一主人不正常了(你懂的,狗就饿着了,就捣蛋(RESET)了。基本概念:在由单片机构成的...

2020-01-31 22:59:44 220

原创 蓝桥杯嵌入式学习STM32之外部中断EXTI详解

先说点题外话。!是取逻辑反的意思,~是按位取反的意思!0x01=0;~0x01=1111 1110;进入正题基本概念STM32的每个IO都可以作为外部中断输入。STM32的中断控制器支持19个外部中断/事件请求:线0~15:对应外部IO口的输入中断。线16:连接到PVD输出。线17:连接到RTC闹钟事件。线18:连接到USB唤醒事件。每个外部中断线可以独立的配置触发...

2020-01-30 22:16:26 1442

原创 蓝桥杯嵌入式学习STM32之USART串口

终于到了这里串口通信的基本知识我之前FPGA系列有讲解。串口通信知识我好像忽然发现一个让浏览量大增的好办法(禁止套娃这篇主要讲STM32 USART库函数代码怎么写不过在这之前还是要讲一点理论知识。至少要了解一点寄存器的概念。四个重要的寄存器USART_SR状态寄存器USART_DR数据寄存器USART_BRR波特率寄存器USART_CR1控制寄存器,各种使能详见中文手册2...

2020-01-29 21:29:11 502

原创 蓝桥杯嵌入式学习STM32之中断优先级分组NVIC

CM3里面有很多中断,有更高的优先级层数。但是stm32f103被阉割了好多。 CM3内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。 STM32并没有使用CM3内核的全部东西,而是只用了它的一部分。 STM32有84个中断,包括16个内核中断和68个可屏蔽中断,具有16级可编程的中断优先级。 STM32F103系列上面,又只有6...

2020-01-29 01:09:27 780

原创 蓝桥杯嵌入式学习STM32之端口复用及重映射

复用这个其实很简单。GPIO全称是啥?General-Purpose Input /Output Ports通用输入/输出端口平常就相当于普通兵,你可以根据“战场情况”(甲方需求)让他变成其他兵种比如说PA9 PA10是两个正常的管脚我们可以通过配置让他变成UART1的发送/接收引脚,这样的配置使得有限得I/O口得到丰富的外设功能。配置方法先使能I/O口的时钟。void ...

2020-01-28 18:17:29 534

原创 蓝桥杯嵌入式学习STM32之JTAG调试

这章很简单…JTAG调试占用5个IO口,而SW只要2个,所以建议用SW。那么问题来了,怎么去设置哪个模式呢?答案在于用GPIO库的一个函数。void GPIO_PinRemapConfig(uint32_t GPIO_Remap, FunctionalState NewState);第一个参数如下所示:#define GPIO_Remap_SWJ_NoJTRST ((...

2020-01-27 23:24:32 565

原创 蓝桥杯嵌入式学习STM32之SystemInit函数详解及systick定时器

现在是凌晨2:44分我本来12点多就躺在床上准备休息的,结果发现根本睡不着。还不如起来学习…又浪费了一点时间不过这三个小时的时间里去掉看沙雕视频的时间,自己想了一下现在的水平,发现自己好菜啊,根本不敢睡觉。(;´д`)ゞ害在这里可以通过修改宏定义的方式改变系统时钟。注:SystemCoreClock永远是当前的系统时钟,放心用就可。初始化之后可以通过变量SystemCoreClo...

2020-01-27 04:03:10 763

原创 蓝桥杯嵌入式学习之STM32时钟详解

今天是大年初一渐渐感觉自己的时间不够用了…我现在好困,但是没办法,必须完成任务指标希望明天能买到口罩…在讲时钟之前先说点简单的东西。第一个 extern的用法:变量只用定义一次,在其他文件里要用的的话得用extern声明一下,声明可以很多次。第二个 MDK寄存器地址映射分析:外设基地址系统会给你一个准确得地址数值,以她为母体得子地址都是在基地址的基础上偏移得到。例如:时...

2020-01-25 23:32:32 493

原创 蓝桥杯嵌入式学习STM32之按键——GPIO的输入

今天是除夕夜…不想看春晚,不想看拜年祭,不想学习,但是又不得不学习…唉~好难受只能学习了…孤独…每天都在学AD、学STM32,看新概念模拟电路希望未来能有个好收获把另外今天我才开始去了解武汉的病情,好像还挺严重的,武汉加油!!正题GPIO每次使用前都要进行初始化,前面点灯环节已经介绍过大体流程,这次就简单一点。第一步使能时钟略第二步配置引脚本次实验我采用的是库函数版本。...

2020-01-24 21:19:03 339

原创 蓝桥杯嵌入式STM32学习之点亮LED(GPIO的控制)

好久没更新了…距离蓝桥杯比赛还有两个月的时间。目前对STM32的了解度不到1%。寒假必须努力加油,还要学会AD,并且春节结束打出自己第一块板子。还有看完新概念模拟电路…完了,我肯定是疯了努力成为电子设计全栈选手,既会设计电路也会画板子还要能调代码…不过有一说一,目前这些东西只是简单涉及,肯定要了解一下,离真正的精通还远着呢!!!废话不多说。简答说一下我对32的初感受。很复杂,比我...

2020-01-22 22:32:59 622

原创 STM32学习日记之新建工程模板

规范的工程模板是以后维护修改的基础。STM32正式开坑啦!!其实我也在想我是不是开了太多的坑(目前有FPGA,STM32,K60,后续还有Linux开发板,蓝桥杯嵌入式的开发板虽然也是STM32…可能还有pynq)啊啊啊啊不管那么多了,学习!CORE, OBJ 以及STM32F10x_FWLib...

2019-11-27 21:05:32 129

原创 K60学习日记之矩阵按键

智能车第二周作业鉴于我目前对于很多库函数还不了解!!!!写了一个特别烂的代码,特别傻,希望一个月以后的我看到不许笑#include <matrixbuttons.h>void matrixkey_Init(){ gpio_init(D1, GPO,1); gpio_init(D3, GPO,1); gpio_init(D5, GPO,1); ...

2019-11-27 14:26:27 265

原创 SDRAM操作时序(超级认真项Blog)

SDRAM操作时序本节用到的英文简写:英文简写具体含义row行column列MRS (mode register set)模式寄存器设置tRSC(Register Set Cycle)模式寄存器设置周期tRCD(RAS to CAS Delay)行激活与列读写的时间间隔CL(CAS Latency)CAS潜伏期tWR (Wri...

2019-10-29 19:54:34 2204

原创 FPGA学习之SDRAM简介

存储器类型SDRAM:Synchronous Dynamic Random Access Memory同步动态随机存储器传输同步:工作需要同步时钟动态:要不断刷新电容。随机:可以任意地址访问。优点:空间存储量大读写速度快价格相对便宜缺点:控制逻辑复杂容量计算例如:4M是每个bank里面的存储单元的数目。4banks不用解释了吧16bits是每个单元里面的容量...

2019-10-29 13:08:46 776

原创 用RS485实现fpga控制89c51上的led

2019年10月26日晚第一次实现了上位机控制下位机的操作可惜的是第一次的“hello world”和点亮的第一个led时间没有记录。实现功能:通过fpga上的按键控制51上led的亮灭。FPAG 的模块图首先经过一个按键消抖,将当前按键情况存储到uart_din 中。然后发送出去。下面是51的部分。说到这个我就来气,我看了暑假里我写的关于51串口通信的博客。写的和一坨屎一模一样。...

2019-10-27 11:42:53 697 2

原创 FPGA串口通信原理

串口通信分为两种:并行通信:并行通信是指数据的各个位用多条数据线同时进行传输 。优点是快。缺点是占用资源多。串行通信:串行通信是将数据分成一位一位的形式在一条传输线上逐个传输。优点是简单、占用资源少。缺点:传输速度慢。通信方式同步通信:带时钟同步信号的数据传输(发送方和接收方在同一时钟的控制下同步传输数据。)异步通信:不带有时钟同步信号。(但是双方的传输速率要一样)串行...

2019-10-22 23:19:20 1116

原创 signal tap Ⅱ与modelsim仿真的区别(基于ip_ram调用的发现)

调用ram的IP核调用没什么好说的;讲一讲ram的读写模块吧。module ram_rw( input clk , input rst_n , output ram_wr_en , output ram_rd_en , ...

2019-10-20 18:59:49 1344

原创 modelsim 的手动仿真

就是要自己新建工程新建一个工程。。。然后添加代码;新建一个代码,写激励文件;然后下图:时序仿真先到quartus II 编译代码;复制这两个到sim在复制这两个文件夹到sim工程里添加vo文件在design之前添加一个libraries!!!(两个文件)...

2019-10-08 17:16:15 349

原创 quartus II 与modelsim联合仿真

联合仿真人话:就是在quartus II 软件里打开modelsim 而不需要在modelsim里新建工程巴拉巴拉的。(推荐使用)前序步骤与modelsim链接起来设置使用modelsim仿真自动生成一个激励文件(TEST BENCH)打开生成的激励文件并且修改;代码大致如下:`timescale 1 ns/ 1 ns //最小周期/精度mo...

2019-10-08 16:30:39 1055 1

Keil-C51编程调试教程.pdf

keil系列软件调试教程详解。包括断点的使用,寄存器状态,存储器窗口,与protues联合仿真等等...

2020-01-27

K60单片机UART.zip

不建议下载,仅用于测试。 完成学校智能车入门测试写的代码。主要完成与电脑直接的通信。

2019-12-23

空空如也

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

TA关注的人

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