- 博客(42)
- 收藏
- 关注
原创 4联共阴数码管显示
P0 = 0x00;数码管显示的基本过程是:段选,位选,延时,消影。// 可修改此数组来改变要显示的数字。// 共阴极数码管段码表。
2025-03-27 20:36:59
207
原创 HAL_TIM_IC_CaptureCallback 函数
HAL_TIM_IC_CaptureCallback`是STM32 HAL库中处理输入捕获中断的核心回调函数。1. **DMA辅助捕获**:使用`HAL_TIM_IC_Start_DMA()`避免中断频繁触发。E --> F[触发HAL_TIM_IC_CaptureCallback]
2025-03-25 23:05:30
738
原创 4X4矩阵键盘
通过本文的介绍,你已经了解了基于STM32F4的矩阵键盘开发的全过程,包括硬件连接、软件编程和调试优化。1. **行扫描**:将某一行线拉低,其余行线拉高,然后检测各列线的电平状态。- **按键长按和短按识别**:通过记录按键按下的时间,实现按键长按和短按的识别功能。2. **逐行扫描**:依次将每一行线拉低,重复上述检测过程,直到扫描完所有行线。- **中断方式扫描**:可以使用外部中断来检测按键按下事件,提高系统的响应速度。- **按键无响应**:检查硬件连接是否松动,或者GPIO引脚配置是否正确。
2025-03-25 12:42:55
928
原创 预测蓝桥杯16届嵌入式省赛客观题
以下是15道蓝桥杯嵌入式省赛客观题预测,每道题均包含**选项列表**、**答案**和**解析**,格式清晰便于快速查阅:### **一、STM32G4硬件基础与外设配置**1. **STM32G431RBT6的Flash和RAM容量分别为?** **选项**: A. 128KB, 32KB B. 256KB, 64KB C. 512KB, 128KB D. 1MB, 256KB **答案:B** **解析**:G4系列命名规则中`R`
2025-03-24 22:58:41
1048
原创 深入解析嵌入式内核:从架构到实践
**硬实时内核**:确保任务在严格时限内完成,适用于航空航天、工业控制等高可靠性场景(如VxWorks、RTEMS)。- **软实时内核**:侧重任务吞吐量,允许一定延迟,常见于消费电子(如嵌入式Linux、Windows CE)。- **特点**:将内核功能(如文件系统、驱动)集成于单一镜像,模块间直接调用,效率高但灵活性低。- **开发工具**:交叉编译器(如GCC)、调试器(如J-Link)、仿真器(如QEMU)。- **内存管理**:优化内存分配,满足嵌入式设备低功耗、小内存的特点。
2025-03-24 22:37:37
546
原创 STM32F4与串口屏通信
淘晶池串口屏操作指令集那我们就来谈一谈串口屏与STM32F4嵌入式板子的通信第一,串口屏传输数据给F4板子这时,我们就该来谈一谈prints函数和printh函数的用法att:变量名称length:长度(0为自动长度)printh hexhex:需要发送的字符的16进制字符串表达式(每个字节之间用空格隔开)
2025-03-21 22:48:22
721
原创 文献查找索引
如果你想查找关于某一项目的仿真文献,可以根据仿真领域的具体方向选择适合的文献搜索网站。这些网站会为你提供大量的文献资源,帮助你在仿真项目的研究中获得更多的启发与支持。
2025-03-16 14:27:40
800
原创 串口通信函数汇总-ing
相比于串口发送,本人认为串口接收难度更高首先谈谈我自己对于串口的理解,随便拿一个嵌入式的板子,它上面有两个引脚,一个是rx,一个是tx,rx用于接收来自上位机,也就是电脑的数据,就是我们在串口调试助手的对话框输入的东西,我们需要串口接收函数来接收读取的数据,并将这个数据存放到一个数组中供我们的后续使用这个函数就是串口回调函数void HAL_UART_RxCpltCallBack(UART_HandleTypeDef *huart)什么是串口回调函数?
2025-03-12 23:05:15
535
原创 LCD显示翻转
将lcd.c文件中的void REG_932X_Init(void)函数中的LCD_WriteReg(R1,0x0000)变为LCD_WriteReg(R1,0x0100)
2025-03-12 22:20:10
139
原创 为什么一些芯片的供电引脚都要通过串接一个电容来接地?
4. **电磁兼容性(EMC)**:从电磁抗扰度(EMS)的角度来看,电容可以降低可能存在的、以大地电位作为参考的高频干扰信号对电路的影响,从而达到抑制电路与干扰源之间瞬态共模电压差的目的。1. **去耦(Decoupling)/旁路(Bypassing)**:电容可以为高频信号提供通路,减小电源内阻,去除电源和地线在敷铜板上“走长线”的影响,防止公用电源的各部分电路之间的“有害交连”。3. **滤波(Filtering)**:电容可以滤除电源中的高频杂波,以免电路产生自激,稳定电路工作状态。
2025-03-05 22:53:43
343
原创 深度解析:已接入Deepseek-R1满血版的全维度含义
这意味着它能够处理更复杂的推理任务,提供更准确、更全面的答案。例如,百度文库和百度网盘在接入Deepseek-R1满血版后,实现了“深度思考+深度交付”的闭环,为用户带来了更加智能、高效的使用体验。此外,满血版的出现也推动了AI技术的普及和应用,使得更多用户能够享受到高性能AI服务带来的便利。例如,在处理需要大量推理能力的问题时,满血版通常会有更长的思考时间,并给出更详细的推理过程。随着技术的不断进步和应用场景的不断拓展,Deepseek-R1满血版必将在未来发挥更大的作用,引领AI技术的发展潮流。
2025-03-04 20:02:35
418
原创 快速上手 DeepSeek:开启智能助手之旅
4. **反馈与优化**:如果在使用过程中遇到问题或有改进建议,可以通过 DeepSeek 的反馈渠道进行反馈,帮助其不断优化和提升。3. **尝试多种功能**:不要局限于单一功能,多尝试 DeepSeek 的其他功能,如数据分析、创意生成等,以充分发挥其潜力。1. **知识问答**:输入「你好,请做自我介绍」,观察 DeepSeek 的响应,了解其基本的问答能力。1. **明确提问**:在向 DeepSeek 提问时,尽量使用清晰、具体的语言,以获得更准确的答案。
2025-03-02 14:24:12
479
原创 # 代码写作风格:优雅编程的艺术
**代码格式化工具**:使用代码格式化工具,如 Visual Studio Code 的格式化功能、Prettier 等,自动格式化代码,保持一致的风格。- **参考代码规范**:参考业界公认的代码规范,如 Google 的代码风格指南、微软的代码规范等,了解最佳实践。- **代码检查工具**:使用代码检查工具,如 ESLint、StyleCop 等,检查代码中的问题并自动修复。缩进能够清晰地展示代码的层次结构。- **代码审查**:参与代码审查,通过审查他人的代码,发现自己的不足并学习他人的优点。
2025-03-01 21:38:20
478
原创 蓝桥杯嵌入式:从零开始的备赛攻略
蓝桥杯嵌入式比赛是一项具有挑战性和意义的比赛,通过参赛,不仅可以提升自己的嵌入式开发能力,还可以结识更多志同道合的朋友,共同学习和进步。- **课程设计**:积极参与学校的嵌入式系统课程设计项目,通过实际动手实践,加深对嵌入式开发的理解和掌握。- **心态调整**:比赛过程中可能会遇到各种困难和挑战,要保持良好的心态,积极面对。- **电子电路基础**:掌握基本的模拟电路和数字电路知识,如电阻、电容、电感、二极管、三极管等元件的特性和应用,以及基本的放大电路、滤波电路、振荡电路等设计方法。
2025-03-01 21:32:25
539
原创 stm32串口通信
第三个参数:发送的数据长度,这个函数就会把首地址后面指定的这么多个字节依次发送出去。第四个参数:超时时间,如果超过这个时间还没发送完毕,剩余的数据就不发了。阻塞式发送:HAL_UART_Transmit(&huart1, )当我们要发送的数据都传输完了,这个函数才会执行结束。通过高低电平来传输信号的,而两根线才能够形成电势差。第一个参数:&huart1中存了串口一的所有数据。第二个参数:要发送数据的首地址,可填字符串常量。首先是数据位的长度,我们是可以选择的:5~8。通信协议:人说话,语言就是协议。
2024-10-25 00:00:47
198
原创 FPGA采集adc,IP核用法,AD驱动(上半部分)
对于一块ROM储存空间:我将我的正弦波一个周期给存进去,输入我的地址,它输出我的当前地址对应的值,改变我的地址,输出我对应的值,地址不断的这样去反复的累加,输出的值就会是一个正弦的波形。实现:当串口发送一个特定值的时候,我的DAC的输出就是我的ADC的输入,就是我将我采集到的输出出去,否则的话就是如果发送的不是特定的值,或者是没有发送值,我的DAC就会输出一个正弦波。前面这段时间输出的时钟还没有到稳定状态,所以锁是拉低的,当锁拉高时,说明我们后面的时钟输出是一个稳定状态的,后面的时钟是一定可以用的。
2024-10-16 23:10:09
2177
原创 动态网站及爬虫技术应用(题目)
HTTP响应消息的状态代码为500时表示服务器内部错误(Internal Server Error)。这通常意味着服务器在处理请求时遇到了意外的情况,导致无法完成该请求。这种错误可能是由于服务器上的软件错误、配置问题或其他服务器端问题引起的。
2024-10-14 20:37:42
724
原创 数电(编码器、数据分配器、数据选择器)
2^n输入,n个信号输出(二进制码)强约束性:输入仅有一个有效2.二-十进制编码器将0~9十个二进制数转换为二进制代码的电路十个信号输入,4位8421BCD码输出被编信号高电平有效,原码输出被编信号低电平有效,反码输出。
2024-10-14 19:40:28
1288
原创 ZYNQ使用XGPIO驱动外设模块(后半部分)
注意重点:1.我们运行代码,注意,DEBUG配置需勾选烧写FLASH,具体配置参考《03arm开发之 ARM使用AXI_GPIO》2.重要的几个函数字符编码oled_code_tab.c初始化OLED的GPIO函数:GPIO_OLED_INIT()OLED初始化函数,LCD_init()显示8x16的字符函数LCD_P8x16Str()绘制图片Draw_BMP()清楚给定两个坐标之间的显示:clear_display_area()显示闪烁的8*16字符串display_blk_str()
2024-10-13 23:18:55
1207
原创 ZYNQ使用XGPIO驱动外设模块(前半部分)
Tcl Console 是一个集成在Xilinx Vivado设计工具中的交互式命令行界面,它允许用户直接输入和执行Tcl(Tool Command Language)脚本命令。Tcl是一种脚本语言,它在EDA(Electronic Design Automation)工具中得到了广泛的应用,特别是在Vivado中,Tcl脚本可用于自动化设计流程、执行批处理操作以及自定义和扩展Vivado的功能。
2024-10-12 22:01:52
943
原创 FPGA 串口&adc学习笔记
这个赋值操作会将 `wait_rxd[0]` 放在结果位向量的高位(如果 `wait_rxd` 是单比特信号的话),然后将 `rxd` 的位按顺序放在低位。这样,`wait_rxd` 就变成了一个包含 `wait_rxd[0]` 和 `rxd` 所有位的新信号。例如,如果 `wait_rxd[0]` 是 `1`,而 `rxd` 是一个8位的信号,比如 `8'b01010101`,那么赋值后的 `wait_rxd` 将是一个9位的信号,值为 `9'b1_01010101`。FPGA需要正确地读取这些数据。
2024-10-12 00:20:36
1399
原创 BUG修复(不断整理&想起什么就整理什么)
一、FPGA系列声明:此篇博文是记录本人从开始学习计算机过程中遇到的各种类型的报错以解决办法,希望给同道中人提供一点绵薄的帮助,也欢迎大家在评论区讨论或私信我交流问题共同进步!
2024-10-11 21:04:22
446
1
原创 请求解决FPGA IP is locked 问题
各位佬好,我想问一下在网上找的解决方案可以点击Upgrade Selected(不是灰色),但仍会报错是啥原因。各位佬好,我想问一下在网上找的解决方案可以点击Upgrade Selected(不是灰色),但仍会报错是啥原因。
2024-10-11 00:36:29
468
3
原创 诺贝尔奖颁发给机器学习与神经网络领域的研究者的见解
**科学研究**:机器学习将继续在科学研究中发挥重要作用,特别是在处理大数据和复杂系统的研究中。2. **可解释性**:未来的研究将致力于提高模型的可解释性,使得复杂的机器学习模型能够被人类理解和信任,特别是在医疗和法律等关键领域。1. **更智能的系统**:随着算法的改进和计算能力的提升,机器学习和神经网络将变得更加智能和高效,在更多领域实现自动化和智能化。3. **普及化与民主化**:随着技术的普及,更多的中小企业和个人将能够利用机器学习和神经网络技术,推动创新和发展。
2024-10-10 20:21:22
378
2
原创 学习博客写作
你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:撤销:Ctrl/Command + Z重做:Ctrl/Command + Y加粗:Ctrl/Command + B斜体:Ctrl/Command + I标题:Ctrl/Command + S
2024-10-10 20:01:02
1168
1
原创 数电(加法器&译码器)
全加器:Full Adder (FA)能将本位的两个二进制数和邻低位来的进位数进行相加。半加器:Half Adder (HA)只将两个1位二进制数相加,而不考虑低位来的进位。每一种输入都有一个对应的特定输出端有效,全译码,所有输入状态都是有效的。每一个输入信号,都有一个对应的有效输出信号。C2只与A0,B0,A1,B1有关。1个数有两个以上Ci就为1,即就有进位。串行进位加法器:电路简单,运算速度较慢。一种高电平有效,一种低电平有效。输入端有4个,输出端有10个。常用MSI组合逻辑电路。
2024-10-10 19:17:30
2264
原创 fpga学习第二课(状态机,矩阵键盘)
在矩阵键盘中,使用的引脚既需要作为输出,又需要作为输入,所以,在之前的学习中, 我们使用过 input 和 output 接口,我们此时要新学一个 inout 接口,此接口可以同时作为输入 和输出使用,但是为了避免驱动冲突,也就是 inout 两端都在输出,所以需要将此端口编写 成三态们的接口,在不需要驱动时将其断开给外部驱动,写法如代码 2.1。尽量的去使用参数化的定义,常数不会占用资源,可以尽量的去写的完善一点,更方便在后续的一个代码调试的过程中更加的简单,然后出错的概率更加的少。
2024-09-19 00:22:32
1293
2
原创 fpga第一课作业
我们设计一个电路,通过与门、或门、异或门和同或门去控制四个 LED 灯,当两个按键 输入通过门的结果为 1 时,其对应的 LED 灯进行呼吸灯效果,当输出结果为 0 时,LED 常灭, 并且与门和或门、异或门和同或门呼吸速度不同,下面是具体实现。边沿触发一般带有时钟信号,一般使用电平触发都是组合逻辑,如果纯用边沿触发多话时钟信号的扇出会比较大,会比较影响时钟偏移等比较关键的时钟参数,所以合理的利用边沿触发和电平触发是比较重要的,这种没有一个固定的标准,所以关键在多写代码。1.逻辑门电路的译码。
2024-09-17 14:46:00
470
原创 FPGA学习日志5(时序电路基础,流水灯)
输入端口可以是wire和reg信号,因为我们要用initial 和always去驱动时钟和复位,因为时钟是一个反复的信号,用assign只是一个赋值的语句,只是一个连线的过程,而不是一个有时序的功能的语句,所以我们只能用initial和always语句,所以说我们只能把输入改成一个reg信号。*现学一个最简单的:创造一个主时钟约束,告诉我的系统我的这个clk它是多少兆的时钟,它就会按照我的时钟是多找兆去给我生成电路。资源用了LUT,ff(触发器),IO,BUFG(时钟资源,全局时钟总线)
2024-09-15 21:27:45
757
原创 FPGA verliog语言学习日志
1.什么是verilog语言Verilog HDL(Hardware Description Language)是一种用于电子系统设计和建模的硬件描述语言。它广泛应用于数字电路的设计和验证,特别是在FPGA(现场可编程门阵列)和ASIC(应用特定集成电路)的开发中。Verilog HDL允许设计师通过编写代码来描述电路的行为和结构,这些代码可以被合成工具转换成实际的硬件电路。以下是Verilog HDL的一些关键特性和概念:1. **模块(Module)**:Verilog中的模块是设计的基本构建块。
2024-09-15 00:12:25
1740
1
原创 fpga学习日志
在这个阶段,仿真器不考虑硬件的具体实现细节,如门延迟和布线延迟,只关注设计是否按照预期的逻辑行为工作。一个 LUT6 可配置 64x1 的 RAM,当 RAM 的深度大于 64 时,会占用额外的 MUX(F7AMUX,F7BMUX,F8MUX,即一个 SLICE 中的那 3 个 MUX)。在Xilinx Vivado中进行I/O规划(I/O planning)是FPGA设计流程中的一个重要步骤,它涉及到定义和分析FPGA与印刷电路板(PCB)之间的连接性,并为设备上的物理引脚分配各种互连信号。
2024-09-14 20:24:54
1885
1
原创 FPGA学习日志(初识)
(高速接口设计领域)类型或者 reg 类型进行储存,两者的区别就是,当我使用 wire 类型进行储存,当外界发生变 化,我的内部的 wire 也会跟随着发生变化,而当我使用 reg 进行储存的时候,只有当触发信 号来临时,内部寄存器才会同步输入的值,所以,此时,既可以将输入的 wire 赋值到 wire。FPGA 在数字 IC 领域中是必不可少的,已经被用于验证相对成熟的 RTL,因为相比用仿真器, 或者加速器等来跑仿真,FPGA 的运行速度,更接近真实芯片,可以配合软件开发者来进行 底层软件的开发。
2024-09-11 19:58:03
1402
1
原创 C语言知识点(适合新手)
的计算过程为:先计算“c + a”,得到中间结果tmp1,再将tmp1与b相加,得到tmp2,最后将tmp2的值赋给c。83 . 在16位的编译器里(如TC),short int的宽度为1字节,在32位编译器(如VC6)里,short int的宽度为2字节,因而即使是在VC下,本题里的i的最大值也就32767,再继续i++,则变成-32768,-32767,...,-1,0,1,即表达式“x++ * 1 / 6”的值来自于“x * 1 / 6”(不是x最后的值),结果为2,“x++”是最后执行。
2024-09-04 19:31:20
1519
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人