- 博客(51)
- 收藏
- 关注
原创 C语言高频面试题——嵌入式系统去访问某特定的内存位置
代码逐行解析定义绝对地址宏:使用 宏定义目标地址 ,提高代码可读性和维护性。如果后续需要修改地址,只需更改宏定义即可。定义指向绝对地址的指针: 关键字:告诉编译器该指针指向的内存可能会被外部因素(如硬件中断)改变,防止编译器优化。在嵌入式编程中, 是访问硬件寄存器时的常用修饰符。强制类型转换 :将整型地址 转换为指向 的指针。这样可以通过指针直接访问该地址的内容。设置地址内容:使用解引用操作符 ,将指针指向的内存地址赋值为 。编译器会生成对应
2025-05-05 19:18:05
478
原创 C语言高频面试题——局部变量和全局变量可以重名吗?
全局变量,即在局部变量的作用域内,全局变量不可见。如果需要访问被遮蔽的全局变量,可以通过。当局部变量和全局变量重名时,局部变量会优先于全局变量,这种现象被称为。当局部变量和全局变量重名时,局部变量会。或其他方式显式指定(C++ 中支持。,但 C 语言不支持)。
2025-04-28 12:39:14
458
原创 C语言面试高频题——不同类型数据相加
代码分析1. 变量声明与初始化(即 的补码解释为无符号数)。因此, 的计算变为:3. 比较 计算后的 值为 。比较表达式 显然成立,因此条件为真。4. 三元运算符执行条件为真时,执行 。条件为假时,执行 。由于条件为真,最终输出为:关键点总结无符号与有符号混合运算的规则:无符号整型的特性:潜在问题:
2025-04-26 11:16:17
257
原创 C语言高频面试题——指针赋值字符串与定义一个数组赋值字符串有什么区别?
【代码】C语言高频面试题——指针赋值字符串与定义一个数组赋值字符串有什么区别?
2025-04-26 11:15:53
529
原创 C语言面试高频题——strcat、strncat、strcmp、strcpy 哪些函数会导致内存溢出?
功能:将源字符串追加到目标字符串的末尾。原型:内存溢出风险:示例:改进方法:使用更安全的函数 ,并明确指定最大追加长度。(2) 功能:将源字符串的前 个字符追加到目标字符串的末尾。原型:内存溢出风险:示例:改进方法:手动计算目标缓冲区的剩余空间,避免超出范围。(3) 功能:比较两个字符串的字典顺序。原型:内存溢出风险:改进方法:确保输入字符串是合法的以 结尾的字符串。(4) 功能:将源字符串复制到目标字符串。原型:内存
2025-04-25 22:57:23
821
原创 C语言面试高频题——不使用第三方变量交换变量a 和b 的值
在C语言中,可以通过多种方法实现不使用第三方变量交换两个变量的值。以下是几种常见的实现方式及其原理讲解:原理利用数学运算 和 来保存和恢复变量的值。关键步骤:将 和 的和存储到 中。通过 恢复原来的 值并赋给 。再通过 恢复原来的 值并赋给 。注意事项如果 超出整型范围(如溢出),可能会导致错误结果。不适用于浮点数,因为浮点数可能存在精度问题。2. 使用异或运算(XOR)代码实现原理利用异或运算的性质:(相同值异或为0)。(任何值与0异
2025-04-24 11:09:25
274
原创 C语言面试高频题——static 全局变量与普通的全局变量、 static 局部变量和普通局部变量、static 函数与普通函数的区别
关键字可以用于修饰变量和函数,改变其作用域、生命周期或链接属性。修饰的全局变量、局部变量和函数与普通变量/函数的区别及其详细讲解。,可以更好地组织代码结构,增强模块化设计能力。
2025-04-24 11:06:02
412
原创 C语言高频面试题——用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)
通过#define表达式被括号包裹。使用类型后缀(如UL)保证数值安全。
2025-04-23 09:20:09
300
原创 C语言高频面试题——给定一个整型变量a,写两段代码,第一个设置a的bit 3,第二个清除a 的bit 3,要保持其它位不变。
【代码】C语言高频面试题——给定一个整型变量a,写两段代码,第一个设置a的bit 3,第二个清除a 的bit 3,要保持其它位不变。
2025-04-23 09:19:39
152
原创 C语言高频面试题——嵌入式系统中怎样用C编写无限循环
在嵌入式系统中,死循环(无限循环)是维持系统持续运行的核心结构,常用于主程序循环、任务调度或等待事件触发。
2025-04-23 09:18:43
186
原创 C语言高频面试题——malloc 和 calloc区别
都是用于动态内存分配的函数,但它们在。,都必须检查返回值是否为。两者分配的内存都必须通过。
2025-04-22 16:55:42
832
1
原创 C语言高频面试题——结构体和联合体区别
是两种重要的复合数据类型,用于组织和管理多个相关的变量。尽管它们在语法上有些相似,但在内存布局、用途和行为上有显著的区别。理解两者的区别可以帮助你根据实际需求选择合适的数据结构!
2025-04-22 16:41:43
731
原创 C语言高频面试题——常量指针与指针常量区别
常量指针是指向一个常量数据的指针,即指针指向的内容不能通过该指针被修改。指针可以指向不同的地址。不能通过指针修改所指向的值。指针常量是一个固定的指针,指针本身的值(即指向的地址)不能改变,但可以通过该指针修改所指向的内容。指针的指向地址固定,不能改变。可以通过指针修改所指向的值。指针的指向地址固定,不能改变。不能通过指针修改所指向的值。
2025-04-21 21:44:58
421
原创 Ansys maxwell 建立永磁同步电机模型静态仿真(手把手超详细)
1) 定子槽:介绍如何绘制定子槽,并提到了Edit/Duplicate/Mirror的用法。1.2.9 设置剖分参数与剖分操作:介绍如何设置剖分参数并进行剖分操作。1.2.7 设置绕组激励与边界条件:介绍如何设置绕组的激励和边界条件。1.2.6 设置各部件材料属性:介绍如何设置各个部件的材料属性。2) 定子槽中导体:介绍如何在定子槽中绘制导体。1.2.2 绘制定子铁芯:介绍如何绘制定子铁芯。1.2.3 绘制转子铁芯:介绍如何绘制转子铁芯。1.2.5 绘制运动边界:介绍如何绘制运动边界。
2025-03-29 13:42:35
717
1
原创 Rmxprt生成Maxwell全模型
生成maxwell全模型,在`Rmxprt/design settings/User defined data` 勾选enable,填写:Fractions 1。
2025-02-16 16:06:23
452
原创 linux驱动开发-(expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘chrdevbase_init’ 5 | static)
Makefile文件中: obj-m :=chrdevbase.o 写成了obj-m :chrdevbase.o。修改后就能成功编译了。
2025-02-05 14:00:01
192
原创 Maxwell软件使用问题——旧版本打开新版本(The partner project name of the link cannot be empty)
问题:使用Ansys Electronics2019R1打开2022R1运行maxwell模型是出现了下面问题。参考链接:(https://bbs.simol.cn/thread-200781-1-1.html)将setup中Advanced的对勾去掉。
2025-01-21 20:02:30
532
原创 DSP+Simulink——点亮LED灯(TMSDSP28379D)超详细
matlab为2019a:环境建立见之前文章1 .启动Simulink2.建立新的simulink模型3.打开LIB4.选择F28379xD,选择Digital Outputz然后选择对应的LED引脚,这里选择的为GPIO34,和GPIO31这里选择的是Boot from flash ,运行在flash中这里报错:解决方法是:这里的工作空间和matlab的安装位置重复了,在其他地方重新建立一个新的就可,建立的simulink的文件需要建立在这个文件中。
2025-01-11 21:26:07
1651
原创 DSP+Simulink——Matlab2019a安装Embedded Coder Support Package for Texas Instruments C2000 Proce(超详细)
matlab2019a手动安装C2000processors
2025-01-08 00:15:34
919
原创 永磁同步电机模型预测控制——模型预测研究现状
模型预测控制 (MPC) 是一种基于最优控制理论的先进控制技术。其核心思想是利用系统模型来预测控制变量的未来变化,并根据预先设定的最优准则选择最优的操作。通过精心设计的最优准则,MPC 可以灵活控制多个重要参数,如电机转矩脉动、开关频率、功率损耗和最大输出电流等,从而实现多目标控制。交流电机 MPC 的基本原理是,基于逆变器和电机的离散模型以及电机当前状态,预测电机未来时刻的状态。然后,通过预先设计的评价指标与预测值进行比较,选择最优的电压矢量作用于电机。动态响应快速在线优化能力强结构简单。
2025-01-07 21:24:05
1599
原创 Matlab绘图(一)——设置坐标轴标签指定中英文字体和字体大小
如果列表中没有 Times New Roman,需要在系统中安装该字体。将字符串的中文和英文部分组合在一起,中间用不同的字体标记。切换字体为 Times New Roman。使用 MATLAB 的 TeX 引擎渲染文本。指定后续部分的字体为“宋体”。设置统一的字体大小。
2025-01-02 00:14:07
4583
原创 关于Python 中多项式拟合中系数print精度截断问题
最近,在使用 Python 进行数据多项式拟合时,我遇到了一个问题:多项式系数 `poly_coeffs` 在不同代码段中计算结果不一致,原因在于 **精度截断**。
2024-12-26 10:18:38
540
电机工程基于ANSYS Maxwell的永磁同步电机建模与仿真:几何模型构建、材料属性设置及电磁场分析方法详解如何使用ANSYS
2025-04-17
qt串口通信上位机遇到的问题
2023-03-31
TA创建的收藏夹 TA关注的收藏夹
TA关注的人