- 博客(31)
- 收藏
- 关注
原创 蓝桥杯嵌入式(iic)
软件IIC是由CPU的GPIO模拟实现的,通过CPU的软件来控制时序和数据传输,通信速度相对较慢,一般在几十kHz到几百kHz之间。软件IIC的实现相对复杂,需要编写复杂的代码,因此在实现IIC通信时,软件IIC通常是在硬件IIC无法满足需求时才采用的方式。硬件IIC是由STM32内部的硬件模块实现的,使用CPU的时钟信号来控制数据传输和时序,通信速度较快,可以达到几十MHz的速度。硬件IIC的实现相对简单,无需编写复杂的代码,因此在实现IIC通信时,硬件IIC通常是首选的方式。在蓝桥杯嵌入式的的组别中。
2024-12-23 16:31:41
229
原创 蓝桥杯嵌入式串口(串口中断加超时解析)处理
在串口的初始化代码中 打开 Hal_uart_receive_IT(&huart1,usart_rx_buffer,1);接受一次数据就打开一次中断 数据存放在usart_rxBUffer里面。由于打印发送是使用的重定向的方式所以我们需要现在usart.c里面引用string.h 并且typedef struct _FILE FILE。判断接受到第几位的索引值 用于超时解析的计时器 以及数组用来存储接受的数据。再在usart_proc 里面进行逻辑方面的解析。我们需要声明三组变量。
2024-12-23 15:55:55
336
原创 蓝桥杯嵌入式再学习(3)任务调度器的创建
一:什么是任务调度器?在我看来任务调度器类似与实时操作系统一样可以快速调度多个任务,轮询去扫描该执行哪个任务了。接下来看看任务调度器的底层是如何的把。基本框架就是这个样子 我们只需要将需要运行的任务放进去scheduler_task中设置不同的时间片我们便可以不断轮询对应的任务。
2024-11-24 00:30:00
275
原创 蓝桥杯嵌入式再学习之bsp与系统初始化底层
一:bsp_system.h是我们用来储存各个底层头文件的一个头文件,在调用对应的底层驱动时候我们就可以直接调用bsp_system.h来进行引用而不用引用那么多头文件如图。这个是c文件里面的系统初始化至此 我们的系统初始化以及bsp就已经弄好了。需要注意的是main.h我们也需要在bsp里面引用。这个是头文件需要将bsp引用进去。接下来是系统的初始化函数如图。
2024-11-24 00:15:00
215
原创 蓝桥杯嵌入式再学习(2)基础框架的构建
这个样子我们就基本将框架搭建好了我们然后需要编写各个底层的驱动了。第一步:将core里面的对勾取消掉。将我们自己的文件夹添加到路径里面去。优化等级选择level 0。勾选Microlib。
2024-11-23 19:04:38
229
原创 蓝桥杯嵌入式再学习理解
进来之后就是这个界面我们需要首先设置时钟点击System Core->Rcc->HSE->Crystal/Ceramic Resonator并且配置时钟树,配置成以下这个样子。自定义项目名,保存路径,选择MDK_ARM,固件库选择1.4.0,如果默认是这个就不需要更改,如果不是的话要自己去下载解压,然后选择。第一步打开cubemx 选择mcu来挑选,嵌入式板子型号为stm32G431RBT6。这里面配置完成之后点击右上角创建工程就是基本的创建工程的项目。然后是nvic的配置将滴答定时器的优先级设置为0。
2024-11-23 18:57:48
331
原创 关于蓝桥杯嵌入式的相关配置情况
题目有有设置80mhz主频需要注意,还需要注意的是在用keil编译时候需要将core取消掉不然可能会出现一些莫名其妙的报错。蓝桥杯嵌入式官方使用的是G4RBT6,固件库是1.4.0版本。
2024-10-17 21:55:10
186
原创 Hal库之Stm32cubemx为什么要把滴答定时器nvic优先级调高
优先级的重要性:SysTick定时器的中断优先级决定了它在系统中断和任务调度中的地位。如果优先级过低,其他⾼优先级的中断和任务将频繁抢占SysTick定时器,影响其计时准确性。3.系统稳定性:为了确保系统的计时功能稳定运⾏,必须合理设置SysTick定时器的优先级,以避免频繁的中断抢占。在STM32微控制器项⽬中,许多与计时相关的功能通常依赖于软件定时器,即默认的SysTick定时器。如果SysTick定时器的优先级设置过低,它将频繁地被其他任务抢占,导致计时精度下降和系统响应延迟。
2024-10-17 21:52:55
403
原创 基本定时器框图及其解析
在基本定时器中 自动重载寄存器和预分频器以及计数器构成了基本的计数计时电路所以也被称为时基电路 由于基本定时器只能选择内部时钟,你可以看作ck—INT直接输入给预分频器。其中高级定时器为TIM1 剩余三个TIM2 TIM3 TIM4 为通用定时器 是没有基本定时器的。在stm32CT86中的定时器资源有TIM1 TIM2 TIM3 TIM4 4个定时器资源。基本定时器可以实现dac和定时中断功能。
2024-06-04 19:07:42
242
原创 keil光标变为下划线如何恢复
问题:keil中不知道按了什么按键光标突然变成下划线操作很难受。解答疑问:按下键盘上的insert按键即可切换。
2024-05-06 19:49:31
1086
1
原创 linux crtl加z挂起后台怎么恢复
链接:https://www.zhihu.com/question/453090354/answer/1819614294。再用fg或bg加上一步看见的序号再次运行进程。fg是恢复进程到前台运行,而bg是恢复进程到后台运行。商业转载请联系作者获得授权,非商业转载请注明出处。得到:[1]+ Stopped nano test。先用jobs命令看被暂停的进程并记住序号。例如:fg 1 或(bg 1)
2024-05-04 12:10:45
819
原创 c++new 和不使用new创建对象区别
2:内存管理方面new 需要手动使用delate销毁 而不用new情况下不需要手动销毁。1:使用new 内存方面new 是在堆空间开辟内存 而不适用new在栈空间开辟。3:属性初始化方面 new 有默认初始值 没有用new 没有初始值。4:new 需要用*来接受变量。5:new通过.来访问成员。
2024-04-26 16:54:23
366
1
原创 初识c++与c的区别
C语言中,如果一个函数没有指定返回值类型,默认为int类型,并返回一个随机数,一般为0XCCCCCCCC。在C++中,如果函数没有返回值则必须指定为void型,否则编译不能通过。如果在创建源文件时什么都不给,默认是.cpp。C++原文件名后缀为.cpp。一:头文件不同与命名空间的不同。C语言文件后缀为.c。
2024-04-26 16:18:31
140
1
原创 蓝桥杯单片机基于西风模板超声波底层
在c文件中需要编写两个函数一个是波的初始化一个是方波的读取。定义完时间变量以后再进行定时器1的16位自动重装载。超声波是外设需要重新自己编写c文件和h文件。Delay(12)us 哦。}这样波的初始化就好了。
2024-04-09 19:53:47
885
原创 蓝桥杯单片机基于西风模板的ad 与da 数模转化
ad 与da 数模转化在 iic文件中敲写。一共有两个函数 ad的读取的da的写。先定义一个返回值temp。还有da的write。
2024-04-08 21:23:21
390
原创 基于西风模板蓝桥杯单片机温度ds18b20的底层
先初始化 再跳过rom 再告诉他我要读取温度。再初始化再跳过rom 温度转化。.c文件中需要创立一个函数。
2024-04-08 02:00:00
604
1
原创 基于西风模板的蓝桥杯ds1302底层
先将wp变为0 根据数据手册得知地址为0x8e。记住write中需要把wp拉高。可以用for循环进行优化代码。在c文件中编写两个函数。
2024-04-07 20:00:21
561
原创 蓝桥杯单片机第七届省赛题目
数码管实时显示风扇的工作模式,动态倒计时显示剩余的定时时间,系统主要由数码管显示、“模拟风扇控制系统”能够模拟电风扇工作,通过按键控制风扇的转动速度和定时时间,算机上的考生文件夹中(文件夹名为考生准考证号,文件夹保存在监考员指定位置)。设备具有“睡眠风”、“自然风”和“常风”三种工作模式可以通过按键切换,通过。数码管实时显示设备当前工作模式和剩余工作时间(倒计时),如图。述电路的工作原理与设计思路,并绘制出电路原理图。“睡眠风”状态下,对应数码管显示数值为。,通过数码管显示当前室温,数码管显。
2024-04-06 16:10:32
721
1
原创 蓝桥杯单片机第三届决赛试题
要求焊点大小适中,无漏、假、虚、连焊,焊点光滑、圆润、干净,无毛刺;要求印制板插件位置正确,元器件极性正确,元器件、导线安装及字。按照设计要求完成程序设计任务,并将工程文件保存在考生文件夹中。用于在修改密码完成之前退出密码的修改回到密码门等待输入密码状。位旧密码后按下确认完成旧密码输入,若密码正确就进入。大电路”的硬件电路原理图;将编译通过的程序下载到处理器芯片中,进行硬件调试。以考生号命名,并保存在计算机上的考生文件夹中。密码门状态,门的开是通过输入正确的密码来。”,密码输入完成后按确认键确认密码输入。
2024-04-04 13:40:11
398
1
原创 ds1302蓝桥杯题目
蓝桥杯模块模训练 · 一 模拟电子钟 数码管模块: 1.时钟显示界面 显示当前运行时钟时间 2 3 - 5 9 - 5 5 小时 间隔符 分钟 间隔符 秒钟 2.时钟设置界面 显示当前设置时钟时间 2 3 - 5 9 - 5 5 小时 间隔符 分钟 间隔符 秒钟 选中的设置单元以 0.5 秒 / 次 的速度闪烁 3.闹钟查看界面 显示当前所处闹钟时间 0
2024-03-20 10:42:04
455
1
原创 蓝桥杯单片机比赛模板
#include <REGX52.H>//单片机寄存器专用头文件#include <Key.h>//按键底层驱动专用头文件#include <Seg.h>//数码管底层驱动专用头文件/* 变量声明区 */unsigned char Key_Val,Key_Down,Key_Old;//按键专用变量unsigned char Key_Slow_Down;//按键减速专用变量unsigned char Seg_Buf[6] = {10,10,10,10,10,10};//数码管显示数据存放数组uns
2024-03-17 16:08:02
625
1
原创 蓝桥杯单片机过渡题目
蓝桥杯过渡模拟训练 · 二 模拟温度采集记录器 数码管模块: 1.温度采集界面 显示当前输入温度数据 A - - - 提示符 熄灭 输入温度数据显示(℃) 注:当前输入单元格以 0.5 秒/次的速度闪烁 2.数据显示界面 显示当前实际温度数据 C 2 3 提示符 熄灭 实际温度数据显示(℃) 注:实际温度数据采用四舍五入后保留整数部分 3.参数设置界面 显示当前设置电压参数 P 3 0 2 0
2024-03-03 15:47:48
513
1
原创 LNK112与LNK2019声明函数未定义警告
出现的原因:因为我们只在前面声明了函数并未定义函数会出现如图所示的警告那么怎么解决呢。解决方案:只需要在后面将函数定义就不会出现警告了。像这样简单定义一下就行。如图出现无法解析的外部符号,函数中引用了该符号。希望我的内容对新手有帮助!
2024-01-23 17:49:32
765
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人