蓝桥杯
心广体胖
这个作者很懒,什么都没留下…
展开
-
蓝桥杯正式学习日记02
今天终于搞明白EXTI_GetFlagStatus和EXTI_GetITStatus区别是什么?答:如果设置了中断标志位并且没有屏蔽。那么发生中断的时候EXTI_GetFlagStatus会SET,EXTI_GetITStatus也会SET。如果设置中断标志位但是屏蔽了。那么发生中断的时候EXTI_GetFlagStatus会SET,EXTI_GetITStatus也会RESET。也就是...原创 2020-02-21 22:30:33 · 304 阅读 · 0 评论 -
蓝桥杯正式学习日记
在一个demo里看到这个__IO uint32_t 类型,查阅以后得知 _IO 是指静态 volatile。volatile这个修饰这个变量可以被除了软件以外的硬件访问,因为systick是硬件定时器嘛取消通过cache访问值,而是直接去通过地址访问值(因为可以被很多东西修改,cache里面的值可能过期了,不是当前的值)。...原创 2020-02-20 22:29:34 · 149 阅读 · 0 评论 -
蓝桥杯嵌入式学习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 · 1208 阅读 · 0 评论 -
蓝桥杯嵌入式学习STM32之DAC实验
DAC相当于ADC的逆过程,类似于给你一个数值,比如说2000,按照和4096比例换算,再乘以3.3V输出。实现了数字转模拟的功能。系统框图分别接好模拟电源和模拟地。再接好参考电压(3.3V)。然后我们通过往DHR寄存器写入值,系统在收到触发信号以后内部经过转化到DOR寄存器,然后输出。输出引脚要设置成模拟输入。小知识但是输出缓存会导致无法输出0.常用寄存器以DAC1为...原创 2020-02-15 17:46:04 · 918 阅读 · 1 评论 -
蓝桥杯嵌入式学习STM32之ADC模数转换器
模数转换器。举个例子就懂了。模拟量可以无限细分是连续的,处理起来很复杂。我们用数字去近似,变成离散的,比如12位的寄存器,那么就有4096种情况,如果参考电压设置的是3.3v,那么就可以用0-4096之间的某个值来表述电压大小,每一位代表3.3/4096.重要引脚框图讲解...原创 2020-02-14 01:15:19 · 552 阅读 · 0 评论 -
蓝桥杯嵌入式学习STM32之RTC时钟原理及配置
RTC时钟原理单片机内部有一块断电不丢失的寄存器(由额外电池一般是纽扣电池供电),每隔1s加1,然后记录的是与1970年1月1日0时的秒差。工作原理细解RTC模块的一些配置是被一个叫做后备区域保护着(禁止写),所以设置之前要先取消后备区域写保护。首先RTC CLK有三个来源。最主要的是外部低速晶振。其他两个来源我懒得打了,可以参考时钟讲解。RTC_DIV会随着预装载得值减到0然后产生一...原创 2020-02-11 01:19:27 · 942 阅读 · 0 评论 -
蓝桥杯嵌入式学习STM32之TFT LCD屏幕(80并口)
不知不觉居然少了一天??!!!啊啊啊我明明是日更博主,怎么漏了一天????(我才不知道呢言归正传,在正点原子的学习进程中这章应该是触摸按键但是我感觉那个好难啊,要检查充放电时间什么的。。。等过几天吧然后后面还有一个OLED屏幕但是我好像没有OLED模块,就算有也肯定没带回来,所以就到了LCD屏幕了,而且蓝桥杯用的也是这个ヾ(≧▽≦*)o1. 驱动原理目前各类液晶显示器用的是in...原创 2020-02-08 00:21:44 · 2431 阅读 · 0 评论 -
蓝桥杯嵌入式学习STM32之FSMC详解
我刚刚打标题才发现我好像一直打着蓝桥杯的名号写一些和比赛不是很有关的blog。其实我早就感觉到了,我故意的才不是为了骗访问量好了言归正传前排提醒,本BLOG是通过用FSMC控制LCD驱动为例讲解,并不是针对FSMC讲解驱动原理FSMC:灵活的静态储存控制器。以下都是我个人的理解,可能不是很官方准确,但是绝对是人话!!!保证能看懂。FSMC我感觉是意法半导体公司为了方便用户使用一些...原创 2020-02-08 03:46:43 · 1510 阅读 · 0 评论 -
蓝桥杯嵌入式学习STM32之输入捕获
真的每天都要写博客我已经要吐了我快坚持不下去了啊啊啊啊难受今日知识点区别&按位与&&逻辑与优先级关系!>&&>||工作流程TI1接收到输入信号(此处可以考虑是否要滤除一些短暂的脉冲,毛刺),然后交给边沿监测(你可以设置检验上边沿还是下边沿),然后选择是否要映射(你可以将数据传到IC1,也可以映射到IC2;同理IC...原创 2020-02-06 01:27:47 · 722 阅读 · 0 评论 -
蓝桥杯嵌入式学习STM32之PWM生成
有个关于预装载ARPE的问题我一直没弄懂。希望未来的的我能搞明白并且回来完善这篇文章。不过我也不是什么都没做,我找了一篇挺棒的博客,虽然看的似懂非懂,但是有点感觉了,不过让我表述出来还是不行的。博客其实内容很简单,控制计数器从0到ARR(预设置的值),再设置一个用来比较的值CCRx,如果比CCRx小就输出低电平,反之高电平。从这个例子很轻松就可以看出ARR控制频率(当然是在相同的时钟条件下...原创 2020-02-05 02:29:23 · 447 阅读 · 0 评论 -
蓝桥杯嵌入式学习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 · 981 阅读 · 0 评论 -
蓝桥杯嵌入式学习STM32之通用定时器基础
这一篇只有基本原理讲解,没有代码。定时器定时器顾名思义就计时的好了,本章完结。可恶居然不能大段空白。。。。三种定时器的区别牛逼程度依次递减特点现在看不懂问题也不大上图是解释下图2的流程图一、时钟来源二、操控三、输入通道从输入通道来的数据进行比较啊,输入捕获,然后算上升沿和下降沿之间的时间:占空比啊(算时间)四、输出输出pwm啊设定某一个值,比他大...原创 2020-02-02 23:39:21 · 274 阅读 · 0 评论 -
蓝桥杯嵌入式学习STM32之窗口看门狗(WWDG)及一直复位的解决办法
我不知道为什么,最近真的学腻了什么东西都学不下去效率好差劲心太浮躁了唉去TMD的单片机靠简单介绍窗口看门狗就是必须在某个限定的时间段喂狗才不复位,喂早了喂晚了都不行。为什么要这样的,就是怕用普通的喂狗,万一bug里自带喂狗就不好了,在一个狭窄的时间段里,这样程序的精确性会大大提高。为啥叫窗口?你听过窗口比较器么,还有滤波器(不过人家叫带通,带阻)自己类比去吧,程序员的脑子...原创 2020-02-02 00:50:28 · 2631 阅读 · 0 评论 -
蓝桥杯嵌入式学习STM32之独立看门狗
看门狗这个东西我觉得好好玩啊。狗狗帮忙看家护院(监测程序),还要定时投喂。//你要是真信了就太天真了( ̄_, ̄ )其实这只狗一点都不会看家护院,反而还挺会捣乱还特能吃。你,也就是主人每隔一端时间就要给他加饭,不然他吃完了就会给你捣蛋。这样想的话,狗狗不捣蛋说明有人给他加饭,说明你还活着,很正常。万一主人不正常了(你懂的,狗就饿着了,就捣蛋(RESET)了。基本概念:在由单片机构成的...原创 2020-01-31 22:59:44 · 228 阅读 · 0 评论 -
蓝桥杯嵌入式学习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 · 1496 阅读 · 0 评论 -
蓝桥杯嵌入式学习STM32之USART串口
终于到了这里串口通信的基本知识我之前FPGA系列有讲解。串口通信知识我好像忽然发现一个让浏览量大增的好办法(禁止套娃这篇主要讲STM32 USART库函数代码怎么写不过在这之前还是要讲一点理论知识。至少要了解一点寄存器的概念。四个重要的寄存器USART_SR状态寄存器USART_DR数据寄存器USART_BRR波特率寄存器USART_CR1控制寄存器,各种使能详见中文手册2...原创 2020-01-29 21:29:11 · 535 阅读 · 0 评论 -
蓝桥杯嵌入式学习STM32之中断优先级分组NVIC
CM3里面有很多中断,有更高的优先级层数。但是stm32f103被阉割了好多。 CM3内核支持256个中断,其中包含了16个内核中断和240个外部中断,并且具有256级的可编程中断设置。 STM32并没有使用CM3内核的全部东西,而是只用了它的一部分。 STM32有84个中断,包括16个内核中断和68个可屏蔽中断,具有16级可编程的中断优先级。 STM32F103系列上面,又只有6...原创 2020-01-29 01:09:27 · 808 阅读 · 0 评论 -
蓝桥杯嵌入式学习STM32之端口复用及重映射
复用这个其实很简单。GPIO全称是啥?General-Purpose Input /Output Ports通用输入/输出端口平常就相当于普通兵,你可以根据“战场情况”(甲方需求)让他变成其他兵种比如说PA9 PA10是两个正常的管脚我们可以通过配置让他变成UART1的发送/接收引脚,这样的配置使得有限得I/O口得到丰富的外设功能。配置方法先使能I/O口的时钟。void ...原创 2020-01-28 18:17:29 · 577 阅读 · 0 评论 -
蓝桥杯嵌入式学习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 · 614 阅读 · 0 评论 -
蓝桥杯嵌入式学习STM32之SystemInit函数详解及systick定时器
现在是凌晨2:44分我本来12点多就躺在床上准备休息的,结果发现根本睡不着。还不如起来学习…又浪费了一点时间不过这三个小时的时间里去掉看沙雕视频的时间,自己想了一下现在的水平,发现自己好菜啊,根本不敢睡觉。(;´д`)ゞ害在这里可以通过修改宏定义的方式改变系统时钟。注:SystemCoreClock永远是当前的系统时钟,放心用就可。初始化之后可以通过变量SystemCoreClo...原创 2020-01-27 04:03:10 · 783 阅读 · 0 评论 -
蓝桥杯嵌入式学习之STM32时钟详解
今天是大年初一渐渐感觉自己的时间不够用了…我现在好困,但是没办法,必须完成任务指标希望明天能买到口罩…在讲时钟之前先说点简单的东西。第一个 extern的用法:变量只用定义一次,在其他文件里要用的的话得用extern声明一下,声明可以很多次。第二个 MDK寄存器地址映射分析:外设基地址系统会给你一个准确得地址数值,以她为母体得子地址都是在基地址的基础上偏移得到。例如:时...原创 2020-01-25 23:32:32 · 515 阅读 · 0 评论 -
蓝桥杯嵌入式学习STM32之按键——GPIO的输入
今天是除夕夜…不想看春晚,不想看拜年祭,不想学习,但是又不得不学习…唉~好难受只能学习了…孤独…每天都在学AD、学STM32,看新概念模拟电路希望未来能有个好收获把另外今天我才开始去了解武汉的病情,好像还挺严重的,武汉加油!!正题GPIO每次使用前都要进行初始化,前面点灯环节已经介绍过大体流程,这次就简单一点。第一步使能时钟略第二步配置引脚本次实验我采用的是库函数版本。...原创 2020-01-24 21:19:03 · 351 阅读 · 0 评论