- 博客(598)
- 资源 (4)
- 问答 (2)
- 收藏
- 关注

原创 嵌入式面试知识点总结 -- FreeRTOS篇
方法1的优点就是快。但是缺点就是不能检测所有的堆栈溢出。比如任务执行中确实出现了栈顶指针越界的情况,但是在任务切换之前栈顶指针又指回到了合法位置,这个时候就检测不到栈溢出了。方法2 比 方法 1要慢一些,但是对用户而言还是很快的。方法2能检测到几乎所有的堆栈溢出,但是也有一些情况检测不到,比如溢出值和标记值相同的情况。
2024-08-08 15:06:19
854

原创 嵌入式面试知识点总结 -- STM32篇
十九、GPIO问题:问题一:介绍以下GPIO?解答:GPIO 8种工作模式(gpio_init.GPIO_Mode):(1) GPIO_Mode_AIN 模拟输入(2) GPIO_Mode_IN_FLOATING 浮空输入(3) GPIO_Mode_IPD 下拉输入(4) GPIO_Mode_IPU 上拉输入(5) GPIO_Mode_Out_OD 开漏输出(6) GPIO_Mode_Out_PP 推挽输出(7) GPIO_Mode_AF_OD 复用开漏输出(8) GPIO_Mo
2021-04-22 17:07:59
41936
13

原创 嵌入式面试知识点总结 -- C语言篇
之前有写过 日常生活 – 嵌入式面试 ,讲了面试大部分都会问哪些问题。也有自己总结了一些面试题:C语言再学习 – 详解C++/C 面试题 1C语言再学习 – 详解C++/C 面试题 2但是每次我都要翻好几篇文章按着看知识点,这就很烦了。现在将所用到的知识点在这篇文章内加以总结。...
2021-04-15 09:49:47
6491
3

原创 日常生活 -- 专业能力
最近要开始为找工作做准备了,第一件事就是写简历。而其中的专业技能和项目经验是值得考虑的部分。 优快云博客写了两年,原创博文也有270多篇。现在根据专业技能部分和项目经验部分,将其总结一下。 一来可以看看自己到底会些什么,再者也可以将招聘信息上需求的,自己暂未总结掌握的部分,好抓紧时间看一看。一、专业技能(1)软件部分1、熟练掌握C语言,熟悉常用的算法/数据结构,具有良好的
2018-01-06 18:39:30
7313
7

原创 博客转载 声明
本博客所有内容来源于网络、书籍、和各类手册。内容均为非盈利,旨为方便查询、总结备份、服务于大家。部分转载内容均有注明出处,如有侵权请告知,马上删除。
2016-11-08 10:50:06
4319

原创 C语言再学习--关键字
如需转载请注明出处:https://blog.youkuaiyun.com/qq_29350001/article/details/53021879C语言一共有32个关键字,如下表所示: 关键字 说明 auto 声明自动变量 short 声明短整型变量或函数 int...
2016-11-03 15:21:54
4357
1

原创 Altium Designer -- 精心总结
以前是使用DXP2004来画图的,后来转行。想来已经有一年半的时间没有画过了。突然转到AD,有些不适应。用了下发觉很多功能确实比DXP要来的强大。花了不少时间和精力,将之前的一些经验技巧,进行整理总结。希望这篇文章,可以让人少走线些弯路。让初学者可以快速入门。好了,言归正传,开始启程!首先下载AD16: Altium Designer 16.0.6 Build 282安装教程:Alti
2016-08-13 15:28:46
234515
77
原创 嵌入式面试知识点总结 -- 面试篇
把所有工作内容,分类整理出和岗位匹配的能力关键字,然后围绕关键字展开讲。每段经历要用数据来支撑。例如:面试官你好,我叫XXX,毕业于XXX,很荣幸参加此次面试。围绕面试岗位相关的能力,来展开介绍。
2024-12-16 21:23:00
311
原创 C语言再学习 -- 字符串分割
调用的时候每次循环调用的时候都会返回下一个字符串的指针没有的时候返回NULL,与strtok的调用区别是,他每次调用第一个参数都传入的是要分割的字符串指针的指针,而strtok第一次是指针,后面串入的是NULL。函数执行的过程,是在 *stringp 中查找分割符,并将其替换为“\0”,返回分割出的第一个字符串指针 (NULL 表示到达字符串尾),并更新 *stringp 指向下一个字符串。stringp: 要被分割的字符串地址,函数执行后该元素被更改,总是只想要被分割的字符串;delim: 分割符;
2024-11-26 19:59:23
1442
原创 汽车电子 -- 一帧Can/CanFD报文发送时间
仲裁域波特率所占位数:帧起始(1位)+ 仲裁段(13位)+ 控制段的EDL、r0、BRS(3位)+ ACK段(2位)+ 帧结束(7位),共26位。帧起始(1位)+ 仲裁段(13位)+ 控制段(5位)+ 数据段(64位)+ CRC段(16位)+ ACK段(2位)+ 帧结束(7位)= 108位。帧起始(1位)+ 仲裁段(33位)+ 控制段(5位)+ 数据段(64位)+ CRC段(16位)+ ACK段(2位)+ 帧结束(7位)= 128位。1)CANFD报文为标准CANFD报文,非扩展帧;
2024-10-21 11:06:37
2045
原创 ESP32开发 -- VSCODE+PlatformIO环境安装
扩展中搜索platformIO IDE当安装完提示重启之后。打开一个要创建新工程的文件夹:点击 Create New Project,出现下图打开open表示安装完成;
2024-09-14 19:53:11
1845
原创 汽车电子 -- AUTOSAR软件架构
AUTOSAR软件架构是一个标准化的架构,它定义了汽车电子控制单元(ECU)软件的基础框架,旨在提高软件的模块化、可重用性和互操作性。
2024-09-14 15:24:26
498
原创 GD32F4开发 -- SEGGER RTT移植
FreeRTOS移植了,我将SEGGER RTT移植和FATFS也一并移植进去得了。这里面其实已经将了怎么移植了。
2024-09-13 17:49:57
561
原创 GD32F4开发 -- FreeRTOS移植
之前讲过FreeRTOS,讲解了什么是FreeRTOS、FreeRTOS的特点、源码下载和目录文件介绍。这里就不做更多讲解了,直接介绍怎么移植。
2024-09-13 16:33:16
1136
原创 GD32F4开发 -- 工程模板创建
Examples:此文件夹包含的是官方编写的示例代码,涉及芯片的大部分功能。Firmware:此文件夹里面有 3 个文件夹,包含 CMSIS,标准外设库和 USB 库,存放官方封装的一些库函数,方便用户开发使用。Template:此文件夹是工程模板文件夹,里面包含 IAR 和 Keil 的工程示例。Utilities:此文件夹包含一些第三方组件和 GD32 配套的开发板文件。
2024-09-13 11:08:30
2046
1
原创 GD32F4开发 -- 生成bin文件和使用jlink烧写
选中 Run #1,在后边的文本框中输入fromelf.exe --bin -o .\BIN\3_6KW.bin .\lib\SolarLib.axf。4、将JLink.exe 、JLinkARM.dll、jlink_cmd.txt、猛击这里.bat和bin文件放到一个文件夹下。:设置接口为SWD(Serial Wire Debug),通常用于ARM Cortex-M系列芯片。1、在jlink安装目录下找到 JLink.exe 和 JLinkARM.dll。2、创建一个文件,jlink_cmd.txt。
2024-09-12 16:22:44
973
原创 GD32F4开发 -- JLink使用
常规简易 LOG.H// 日志级别定义0// 无日志输出1// 只输出错误2// 输出警告和错误3// 输出信息、警告和错误4// 输出调试信息、信息、警告和错误// 设置当前日志级别// 常用文本颜色控制宏// 日志输出宏定义>=
2024-09-11 18:05:38
1346
原创 GD32F4开发 -- FATFS文件系统
移动读/写指针,扩展文件尺寸。- 打开目录并读取第一个匹配项。- 在逻辑驱动器上创建FAT卷。- 检查文件或子目录是否存在。- 重命名/移动文件或子目录。- 更改文件或子目录的时间戳。- 获取当前读/写指针位置。- 更改文件或子目录的属性。- 在物理驱动器上创建分区。- 获取当前目录和驱动器。- 注册/注销卷的工作区。- 为文件分配连续的块。- 关闭已打开的文件。- 从文件中读取数据。- 写入格式化字符串。- 关闭已打开的目录。- 读取下一个匹配项。- 移除文件或子目录。- 获取卷的可用空间。
2024-09-11 13:52:56
1236
原创 FreeRTOS学习 -- 低功耗Tickless模式
停止模式基于Cortex-M4F 的深度休眠模式与外设时钟门控,在此模式下 1.2V 域的所有时钟都会停止,PLL、HSI和HSE RC振荡器会被禁止,但是内部SRAM的数据会被保留。待机模式是基于 Cortex-M4F 的深度睡眠模式,其中调压器被禁止。休眠模式的功耗比其他两个高,但是休眠模式没有唤醒延时,应用程序可以立即运行。如果使用WFI指令进入休眠模式的话,那么任意一个中断都会将MCU从休眠模式中唤醒,如果使用WFE指令进入休眠模式的话,那么当有事件发生的话就会退出休眠模式。
2024-08-07 17:49:25
644
原创 FreeRTOS学习 -- 事件标志组
事件位 0 存放在这个变量的 bit0 上,变量的 bit1 就是事件位 1,以此类推。由于内部处理的原因,事件标志组可用 bit 数取决于 configUSE_16_BIT_TICKS ,当 configUSE_16_BIT_TICKS1 为 1 的时候事件标志组有 8 个可用的位(bit0~ bit7) ,当 configUSE_16_BIT_TICKS 为 0 的时候事件标志组有 24 个可用的位(bit0~bit23)。将事件标志组中的指定事件位清零,此函数只能用在任务中,不能用在中断服务函数中。
2024-08-07 16:59:02
1013
原创 FreeRTOS学习 -- 软件定时器
软件定时器允许设置一段时间,当设置的时间到达之后就执行指定的功能函数,被定时器调用的这个功能函数叫做定时器的回调函数。回调函数的两次执行间隔叫做定时器的定时周期。简而言之,当定时器的定时周期到了以后就会执行回调函数。
2024-07-04 17:53:31
759
1
原创 FreeRTOS学习 -- 信号量
二值信号量通常用于互斥访问或同步,二值信号量和互斥信号量非常类似,但是还是有一些细微的差别,互斥信号量拥有优先级继承机制,二值信号量没有优先级继承。因此二值信号量更适合用于同步(任务与任务或任务与中断的同步),而互斥信号量适用于简单的互斥访问。和队列一样,信号量 API 函数允许设置一个阻塞时间,阻塞时间是当任务获取信号量的时候由于信号量无效从而导致任务进入阻塞态的最大时钟节拍数。
2024-06-27 18:29:15
472
1
原创 FreeRTOS学习 -- 队列
队列所能保存的最大数据项目数量叫做队列的长度,创建队列的时候会指定数据项目的大小和队列的长度。由于队列用来传递消息的,所以也称为消息队列。队列是为了任务与任务、任务与中断之间的通信而准备的,可以在任务与任务、任务与中断之间传递消息,队列中可以存储有限的、大小固定的数据项目。任务与任务、任务与中断之间要交流的数据保存在队列中,叫做队列项目。
2024-06-20 11:33:19
443
1
原创 FreeRTOS学习 -- 时间管理
在使用 FreeRTOS 的过程中通常会在一个任务函数中使用延时函数对这个任务延时,当执行延时函数的时候会进行任务切换,并且此任务就会进入阻塞态,直到延时完成,任务重新进入就绪态。
2024-06-20 11:28:07
559
1
原创 FreeRTOS学习 -- 任务 API 函数
此函数用来查询指定任务的优先级,要使用此函数的话宏 INCLUDE_uxTaskPriorityGet 应该定义为 1。
2024-05-22 17:06:09
1428
1
原创 FreeRTOS学习 -- 系统内核控制函数
FreeRTOS中有一些函数只供系统内核使用,用户应用程序一般不允许使用,这些API函数就是系统内核控制函数。
2024-05-22 11:37:59
322
1
原创 FreeRTOS学习 -- 任务切换
RTOS 系统的核心是任务管理,而任务管理的核心是任务切换,任务切换决定了任务的执行顺序,任务切换效率的高低也决定了一款系统的性能,尤其是对于实时操作系统。
2024-05-17 18:11:19
506
1
原创 FreeRTOS学习 -- 列表和列表项
列表是 FreeRTOS 中的一个数据结构,被用来跟踪 FreeRTOS 中的任务。与列表相关的全部东西都在文件 list.c 和 list.h中。
2024-05-11 10:05:06
388
1
原创 FreeRTOS学习 -- 任务基础知识
单片机裸跑的时候一般都是在main函数里面用 while (1) 做一个大循环来完成所有的处理,即应用程序是一个无限的循环,循环中调用相应的函数完成所需的处理。这个就是单任务系统,也称为前后台系统,中断服务函数作为前台程序,大循环 while (1) 作为后台程序。FreeRTOS是一个抢占式的实时多任务系统。高优先级的任务可以打断低优先级任务的运行而取得CPU的使用权。高优先级的任务执行完成以后重新把CPU的使用权归还给低优先级的任务,这个就是抢占式多任务系统的基本原理。
2024-04-23 17:29:23
591
1
原创 FreeRTOS学习 -- 中断配置
当多个中断来临的时候处理器应该响应哪一个中断是由中断的优先级来决定的,高优先级的中断(优先级编号小)肯定是首先得到响应的,而且高优先的中断可以抢占低优先级的中断,这个就是中断嵌套。Cortex-M处理器的有些中断是具有固定的优先级的,比如复位、NMI、HardFault,这些中断的优先级都是负数,优先级也是最高的。STM32,只用了中断优先级配置寄存器的高4位 [7 : 4],所以STM32提供了最大16级的中断优先等级,MSB 对齐。
2024-04-17 11:29:51
683
1
原创 FreeRTOS学习 -- FreeRTOSConfig.h介绍
FreeRTOS 的系统配置文件为 FreeRTOSConfig.h,在此配置文件中可以完成 FreeRTOS 的裁剪和配置。
2024-04-10 19:01:36
574
1
原创 FreeRTOS学习 -- 移植
在基础工程中新建一个名为FreeRTOS的文件夹,创建FreeRTOS文件夹以后将FreeRTOS的源码添加到这个文件夹中。portable 文件夹,只需要保留keil、MemMang 和 RVDS这三个文件夹,其他的都可以删除掉。
2024-04-10 11:54:13
333
1
原创 FreeRTOS学习 -- 再识
Free即免费的意思,RTOS全称是Real Time Operating System,中文名就是实时操作系统。FreeRTOS就是一个免费的RTOS类系统。RTOS不是指某一个确定的系统,而是指一类系统。比如,uC/OS,FreeRTOS,RXT,RX-Thread等这些都是RTOS类操作系统。操作系统允许多个任务同时运行,这个叫做多任务,一个处理器核心在某一时刻只能运行一个任务。操作系统中任务调度器的责任就是决定在某一时刻究竟运行哪个任务,任务 调度在各个任务之间切换非常快。
2024-04-08 15:44:27
1163
原创 日常生活小技巧 -- USR-TCP232-M4(读取IP)
下载:[Configuration Software]USR-TCP232-M4_V2.3.4.106
2024-03-07 18:02:51
705
1
GV7601 design guide.
2016-11-03
rs485多路串口通信 。。
2015-12-15
华为4G模块移植,编译内核出错
2015-09-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人