自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 2021年电子竞赛四天三夜征程—-信号失真度测量装置(A题)

2021大学生电子设计大赛,我们选择的题目是信号失真度测量装置(A题)一笔一画,记录我的学习生活!站在巨人的肩上Standing on Shoulders of Giants!   四天三夜的电赛在忙碌中结束了,今年为国赛,无论哪个方面都很重视电赛,也为我的大学生活留下了浓墨重彩的一笔。谨以此写下这篇博客留念,本篇博客写下一些体会和感受。 如果上天再给我一次机会,我一定会说:评委老师,把谐波幅度稍微给大一点吧,我们装置至少能接近标准答案!

2021-12-14 18:21:22 39002 41

原创 记录外部EEPROM读写有问题排查过程

10.目前系统有86个故障,对应86个DTCCode,问题出错在后面49号故障,但是这86号故障通过For遍历的,打断点也有技巧,右击Breakpoint Properties断点属性内设置Condition(i == 49)(调试平台为S32DS3.5)该函数是先将EEPROM的数据读出到一个很大的局部数组A[430],然后再从数组数据依次拷贝到DTC结构体,但是这个函数在一个任务里面跑,这个任务只分配了256字节的堆栈,而局部数组太大,导致堆栈溢出。由于EEPROM的IIC驱动是用模拟IO写的。

2024-06-24 19:57:38 260

原创 UDS服务19 01按掩码读DTC数量

UDS服务19 01按状态掩码读DTC数量。该文章为原创,转载请注明出处和作者。作者 : Eterlove。

2024-06-19 19:00:29 212

原创 工作经验杂谈2023-11-11

初入嵌入式软件工程师的职场,第一份工作选择了站到风口上的储能行业,第一个正式项目选择了前沿的无线BMS项目。算了算,从7月4日开始入职,整整工作了四个月啦。故准备谈谈自己的收获和感受。

2023-11-11 11:44:22 400 2

转载 C 语言的断言函数应用

从上面的示例中不难发现,对标准的 assert 宏来说,自定义的 ASSERT 宏将具有更大的灵活性,可以根据自己的需要打印输出不同的信息,同时也可以对不同类型的错误或者警告信息使用不同的断言,这也是在工程代码中经常使用的做法。从表面看来,上面的解决方案应该堪称完美。上面的解决方案尽管通过条件编译“#ifdef DEBUG”能产生很好的结果,也完全符合我们的程序设计要求,但是仔细观察会发现,这样的测试检查代码显得并不那么友好,当一个函数里这种条件编译语句很多时,代码会显得有些浮肿,甚至有些糟糕。

2023-08-18 11:06:26 223

原创 嵌入式开发工具推荐

NXP官方开发的一款数据可视化的调试软件。

2023-08-16 20:56:10 392

转载 万丈高楼平地起,一砖一瓦皆根基

转载于周立功人物事迹作者介绍:周立功,男,生于1964年,著作等身的嵌入式技术专家,广州立功科技股份有限公司创始人/董事长/总经理,广东省电子学会副理事长,广州市半导体行业协会副会长,广州市软件行业协会副会长,曾撰写60余本技术专著。

2023-08-16 10:19:02 1081 1

原创 UDS (Unified Diagnostic Services)汽车诊断标准协议

2. ECU 复位(0x11)服务 ECU Reset  客户端使用 ECU 复位服务来请求服务端重置。Note:①ECU 复位肯定响应消息(如果需要)应在服务端执行重置之前发送。含义如何解释:当ECU复位以后,“丢掉记忆,重新开始,它就不记得之前干过(收到什么指令)什么!”故执行复位前,应该先肯定响应消息后复位。②还有一点值得注意:服务端重置成功后,将激活默认会话。3. 安全访问(0x27)服务 Security Access  使用该服务的典型示例如下所示:客户端请求“种子”,服务端发送“种

2023-08-15 17:21:40 362

原创 基于UDS on CAN的bootloader

Tester(诊断方)ECU(汽车电控单元)3.UDS的软件实现:协议栈(Core)和应用程序。2.UDS的硬件实现:CAN总线和诊断接口。TP:Tester Present待机握手。Bootloader——三段式。

2023-08-14 14:27:25 347

原创 【MCU学习】GD32F427VG开发

4.参考手册:GD32F4xx_User_Manual_Rev2.8_CN。5.数据手册:GD32F427xx_Datasheet_Rev1.5。3.GD32F4xx_固件库使用指南_Rev1.2。1.GD232F4xx的Keil芯片支持包。2.标准固件库和示例程序。

2023-08-03 09:21:19 846

原创 《博客继续更新说明》

有得有失,2021年参加电赛,痛失国赛,只拿了省二,电赛是奇数年国赛,偶数年省赛,故2022年大学生电赛还是又去参加了一次,斩获省一,蓝桥杯也去搞了一次,也拿了奖,自此大学生活就结束了,不得不说,时间过得真快。自2022.6.20起,本人CSDN博客断更了,故很多粉丝的私信没有看到,非常抱歉哈,简单叙说下这一年经历,当时大三后期原本想法是直接找嵌入式实习的,哈哈,后来想再读个研究生沉淀一下,就开始备考西安的某211学校的电子科学与技术王牌专业,自此开始静下心开始复习,停更了博客。

2023-07-23 11:33:58 179

原创 《从0开始设计和实现CPU》bus总线顶层模块设计

1.总线Code管理首先,对前面编写的代码进行一个管理创建一个文件夹命名为bus存放总线设计的代码,在此目录下创建inc文件夹来存放bus所需要的头文件,总线的实现的代码放在bus文件下。2.总线设计概要1. bus_arbiter.v :实现了总线总裁器的设计,解决了4个总线主控在请求总线时,总线该赋予哪个主控的仲裁问题。2. bus_master_mux:实现了总线主控多路复用器的设计,这个是基于总线仲裁器的总线赋予信号:赋予信号一旦选择某个主控,该主控成为总线的使用者,该主

2022-04-30 16:09:33 1520 2

原创 《从0开始设计和实现CPU》总线设计(四)之总线从属多路复用器的实现

实现功能:总线从属多路复用器的实现1.程序源码 /****功能:总线从属多路复用器的实现****/ `include "stddef.h"`include "global_config.h"`include "bus.h"module bus_slave_mux( /****0号总线从属****/ input wire s0_cs_, //片选 input wire [`WordDataBus] s0_rd_data, //

2022-04-15 23:03:38 421 4

原创 《从0开始设计和实现CPU》总线设计(三)之地址解码器的实现

功能:地址解码器的实现1.总线框图2.程序源码 /****功能:地址解码器的实现****/ `include "stddef.h"`include "global_config.h"`include "bus.h"module bus_addr_dec( /****总线从属共享信号****/ input wire [`WordAddrBus] s_addr, //地址 29:0 /****总线从属0~7号****/ output reg

2022-04-15 22:38:48 618

原创 《从0开始设计和实现CPU》总线设计(二)之总线主控多路复用器的实现

1.开发工具Quartus (Quartus Prime 18.1) Standard EditionModelsim SE-64 10.4Icarus Verilog + gtkwave(开源)2.总线框图3.程序源码`include "stddef.h"`include "global_config.h"`include "bus.h"module bus_master_mux( /****0号总线主控****/ input wire

2022-04-15 22:33:03 803

原创 《从0开始设计和实现CPU》总线设计(一)之总线仲裁器的实现

(一)总线的实现总线由总线仲裁器,总线主控多路复用器,地址解码器,总线从属多路复用器组成,本文记录总线仲裁器的实现。原理请看书《CPU自制入门》,书中通俗易懂,图文并茂。(二)程序源码1.定义bus_arbiter.h(书中定义为bus.h)`ifndef __BUS_ARBITER_HEADER__`define __BUS_ARBITER_HEADER__`define BUS_MASTER_CH 4 //总线主控通道数`define BUS_MASTER

2022-04-14 18:39:06 2054 3

原创 《从0开始设计和实现CPU》专栏相关声明

1.专栏声明该专栏源于图灵程序设计丛书《CPU自制入门》,笔者学习此书来弥补对计算机底层原理的知识空白。所观,所感,所调试程序源码做下笔记于此。文笔有限,敬请谅解。程序源码均来自《CPU自制入门》(个别Testbench除外,因为没有,笔者调试过程中自己写)。该专栏免费和持续更新(停更会发出声明),只用于学习用途,欢迎大家一起讨论。笔者也是初学者,对CPU和FPGA只是学了皮毛,故专栏记录一下以下内容:程序源码 , 问题疑惑, 离散知识点 , 调试经验。若有问题疑惑,请阅读《CPU自制入门》。

2022-04-14 16:39:03 611

原创 《从0开始设计和实现CPU》32寄存器堆_记录篇(1)

声明:代码片段来自于《CPU自制入门》这本书。笔者最近对这方面感兴趣,故想亲自试一试,记录相关笔记1-1 regfile.h`ifndef __REGFILE_HEADER__`define __REGFILE_HEADER__/*******信号电平******/`define HIGH 1'b1`define LOW 1'b0/*******逻辑值******/`define ENABLE 1'b0 //有效(负逻辑)`define DISA

2022-04-10 23:40:59 1337 1

原创 《嵌入式蓝桥杯》STM32单片机+USART2+DMA+IDLE空闲中断来接收数据

作者 : Eterlove .一笔一画,记录我的学习生活!站在巨人的肩上Standing on Shoulders of Giants!该文章为原创,转载请注明出处和作者. 你是怎么接收一帧数据的(这个其实不应该由面试官问,而是由你自己补充全面),如果你说采用帧头、帧尾判断的方式接收的,那么这道题还是给你50分,但是你说用空闲中断,那么70分以上,如果你说用DMA+空闲中断的方式接收的,那么90分以上...

2022-04-07 21:01:09 3164 13

原创 《嵌入式蓝桥杯》定时器TIM3的PWM输出和TIM2的输入捕获测量频率记录

作者博客主页 作者 : Eterlove 一笔一画,记录我的学习生活!站在巨人的肩上Standing on Shoulders of Giants!该文章为原创,转载请注明出处和作者声明:这段时间较忙,相关知识点分析讲解后面抽时间补上。1.学习记录    用定时器TIM3来产生一个PWM的波形【频率可调,占空比可调–>相对可调】,然后用TIM2的输入捕获功能测量该波形的频率。PA1---->TIM2_CH2PA2---->TI.

2022-04-04 18:33:46 4226 5

原创 问题记录:error: #268: declaration may not appear after executable statement in block

//编译代码错误..\Sre\Input_Capture.c(29): error: #268: declaration may not appear after executable statement in block GPIO_InitTypeDef GPIO_InitStructure;..\Sre\Input_Capture.c(36): error: #268: declaration may not appear after executable statement in bl

2022-04-04 14:25:45 1252 1

转载 I/O 操作的那些事儿:轮询 ,中断 , DMA ,通道

转载于:I/O 操作的那些事儿:轮询 ,中断 , DMA ,通道       I/O 设备是计算机的重要组成部分,介于处理器与 I/O 设备交互的复杂性,I/O 操作一直是高级语言开发者比较难掌握的一个技术点。       因为高级语言对 I/O 操作的封装基于操作系统提供的系统函数,而这些系统函数的调用方式又与其硬件层的结构与工作机制息息相关,所以想要彻底搞懂 I/O 操作的那些函数,必须对其基于的底层设备的工作方式有一定

2022-03-31 15:10:22 2043 1

原创 (sizeof(a) / sizeof(*(a)))解析

/* Private define ------------------------------------------------------------*/#define RxBufferSize (countof(RxBuffer) - 1)/* Private macro -------------------------------------------------------------*/#define countof(a) (sizeof(a) / sizeof(*(a)))

2022-03-31 14:25:39 2041 2

原创 《将博客搬至CSDN》

声明:将CSDN和微信公众号 Eterlove_qrs的博客同步更新。

2022-03-29 16:47:33 345

原创 《嵌入式蓝桥杯》考点:LCD界面和模式切换问题

作者博客主页 作者 : Eterlove 一笔一画,记录我的学习生活!站在巨人的肩上Standing on Shoulders of Giants!该文章为原创,转载请注明出处和作者对于每年的蓝桥杯来说,界面切换和模式切换是常考点,在最近的第10,11,12届省赛中都有考察到,花点时间就能掌握它。

2022-03-28 23:56:47 3709 1

原创 蓝桥杯I2C例程的学习和EEPROM应用

       蓝桥杯嵌入式比赛中,官方在资源数据包给出了I2C的的驱动程序,我们只需要在此基础上应用即可(建议最好搞懂I2C的底层原理)。对于I2C知识点的考察集中在EEPROM部分,这里贴出代码。1.官方例程I2C.c/* 程序说明: CT117E嵌入式竞赛板GPIO模拟I2C总线驱动程序 软件环境: Keil uVision 4.10 硬件环境: CT117E嵌入式竞赛板 日 期: 2011-8-9*/#include "stm3

2022-03-28 16:00:17 5444

原创 第十二届省赛嵌入式设计与开发《停车计费系统》

前言刷了几套蓝桥杯省赛程序题目,心有所感,故写下文章记录一下,本篇文章记录的是第十二届省赛嵌入式设计与开发程序设计题目。这套题的考察重点和难点在STM32的串口和字符串的处理,难点在于细节方面,对字符串考察很细。其他知识点虽有考察,但比较常规(参考往年题目思路即可)。文章重点讲解字符串的处理和小算法。(一) 题目分析:使用串口获取车辆进、出停车场信息和时间,并能够输出计费信息。分析:1.车辆 出车库要计算停车时间,然后根据价格计算并输出计费信息。2.接下来,我们要考虑如何去判断小车是进车库还

2022-03-27 23:07:07 3060 6

原创 void *memset(void *str, int c, size_t n)

事情是这样的:我定义了一个结构体数组 ,这个结构体里有数组元素typedef struct { uint8_t Car_Type[5]; //车辆类型 uint8_t Car_ID[5]; //车辆编号ID uint8_t Year; uint8_t Month; uint8_t Day; uint8_t Hour; uint8_t Min; uint8_t Sec; _Bool notEmpty;}Car_Structu

2022-03-24 22:56:00 1285

原创 void ADC_SoftwareStartConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState)

void ADC_SoftwareStartConvCmd(ADC_TypeDef* ADCx, FunctionalState NewState){ /* Check the parameters */ assert_param(IS_ADC_ALL_PERIPH(ADCx)); assert_param(IS_FUNCTIONAL_STATE(NewState)); if (NewState != DISABLE) { /* Enable the selected ADC

2022-03-24 13:39:12 2372 1

转载 嵌入式STM32开发中关键字_IO

转载出处:https://blog.csdn.net/u010058695/article/details/101016142作者:jianwang16在开发嵌入式过程中,常会看到_IO 修饰符,这两个修饰符是在Core_cm3.h中被重定义:/* IO definitions (access restrictions to peripheral registers) */#ifdef __cplusplus #define __I volatile /*!

2022-03-14 22:53:58 636

原创 STM32的SysTick定时器记录一篇

前言我们经常使用延时来完成一些项目需求,常利用CPU空循环达到的软件延时来实现,其方法优点简单,但会出现时间精度不高的问题,而且这是一个弊端很明显的做法,因为在延时函数进行时系统无法进行其它操作,这样大大降低了系统的效率。第二种方式是用定时器TIM来实现精准延时,但显得资源十分浪费,这时STM32的SysTick定时器就派上用场了。

2022-01-30 08:30:00 1077 5

原创 《玩透嵌入式C的角角落落》当你需要循环体至少执行一次时,选择do

当你需要循环体至少执行一次时,选择do-----《C与指针》1.概念平时我们常用while语句来表达我们的”先判断后循环“的思想,此外while语句还有一位兄弟叫做do语句,或者叫do-while,他显著特点是“先循环后判断”,至少会执行一次循环体。do的语法为:do statement //为循环体while(expresssion); //expresssion测试表达式,其值为1或0

2022-01-24 18:28:33 5573 4

原创 《基本功阅读Datasheet篇》STM32Reference manual值得注意的点(ADC)

凡是芯片数据手册中的note,都必须仔细阅读,一般这都是能否正确使用、或能否把芯片用好的关键之所在。Note: Only ADC1 and ADC3 have this DMA capability. ADC2-converted data can be transferred in dual ADC mode using DMA thanks to master ADC1.

2022-01-24 09:00:00 712 1

原创 《蓝桥杯备赛》STM32ADC的学习,值得一看【完整源码】(五)

1.STM32F10xxx微控制器系列产品容量小容量产品是指闪存存储器容量在16K至32K字节之间的STM32F101xx、STM32F102xx和STM32F103xx微控制器。中容量产品是指闪存存储器容量在64K至128K字节之间的STM32F101xx、STM32F102xx和STM32F103xx微控制器。大容量产品是指闪存存储器容量在256K至512K字节之间的STM32F101xx和STM32F103xx微控制器。互联型产品是指STM32F105xx和STM32F107xx微控制器。

2022-01-22 18:26:26 3628 17

原创 stm32f10x.h P224行~269行

stm32f10x.h P224行~269行#ifdef STM32F10X_MD ADC1_2_IRQn = 18, /*!< ADC1 and ADC2 global Interrupt */ USB_HP_CAN1_TX_IRQn = 19, /*!< USB Device High Priority or CAN1 TX Interrupts */ USB

2022-01-18 09:00:00 165

原创 《蓝桥杯备赛》CT117E嵌入式竞赛板LCD驱动库的使用(带完整源码)

1. 在LCD显示文字和数据2. 通过按键KEY1来切换高亮文字颜色。思路:定义一个全局变量choose=0,通过KEY1外部中断,然后在中断服务函数中来回切换choose的值0和1,在显示函数window()通过if判断choose的值,来高亮显示相应颜色。

2022-01-15 20:48:07 5909 4

原创 《蓝桥杯备赛》STM32GPIO库函数GPIO_ReadInputDataBit()

GPIO_ResetBits(GPIOx ,GPIO_Pin_x)GPIO_SetBits(GPIOx ,GPIO_Pin_x)重点介绍库函数 *GPIO_ReadInputDataBit()编写按键的驱动程序,主要有两种方式(1)循环扫描(2)外部中断,具体问题具体分析。使用循环扫描方式,就需要不断检查按键的状态,也就是与按键相关的GPIO某个引脚的状态,可在while(1)中使用GPIO_ReadInputDataBit()库函数检测

2022-01-14 18:45:53 6423 1

原创 《蓝桥杯备赛》STM32外部中断void GPIO_EXTILineConfig()

STM32中断控制器支持19个外部中断/事件请求。(1)很多人误认为STM32只支持16个外部中断/事件请求,因为他们走入了 “GPIOA有PA0~PA15共16个,所以只支持16个外部中断/事件请求” 思维误区!其实还有三个平时较少用到的。(2)在STM32库函数程序中,并没有单独的EXTI5_IRQHandler,同理EXTI6,EXTI7,EXTI8也没有...其中断服务函数名已经定义好,参见startup_stm32f10x_xx.s,不能用户自己定义,它关系到进入中断服务函数的入口地址。

2022-01-14 13:32:40 1125 7

原创 蓝桥杯CT117E Rev 1.1开发板遇到的编译和下载问题

在stm32f10x.h 95行和99行可得:USE_STDPERIPH_DRIVER,STM32F10X_MD

2022-01-12 17:59:26 1678

原创 第九届省赛嵌入式设计与开发(客观题)解析(上)

第九届省赛嵌入式设计与开发(客观题)解析(上)CM3内核采用的就是三级流水线,当然还有更复杂的多级流水线,但不是指令流水线级数越多越好,流水线级数的多少需要根据微处理器的具体要求来确定

2022-01-10 16:55:58 3596 10

74系列芯片总汇.rar

74系列芯片总汇, 基本上74系列芯片都在这里,有需要的下载即可

2021-09-26

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

TA关注的人

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