资讯
.h头文件那些注意事项(2023-03-28)
节点选项配置(二)
头文件相关内容
这里顺便说下关于头文件的几个重要内容。1.防止头文件被重复引用这个问题对于老司机来说,可能不是什么问题,但很多新手却没搞明白是什么意思。
通常,在某xxx.h头文件......
两道面试题所引发的C指针的思考(2023-08-01)
-rdynamic test.c (test.c即是我们将源码头文件加上编写的C语言源文件),然后生成了可以以用于gdb调试且可以定位段错误的可执行程序,接下来输入gdb ./a.out 进入gdb调试模式,输入r......
如何基于Keil、STM32用C++编写流水灯程序?(2023-10-20)
extern “C” {#endif
//这里C源代码
#ifdef __cplusplus}#endif
什么意思呢?
这是一段预处理,从预处理代码可以看得出来,大概意思就是:支持C和C++混合......
s3c2440代码重定位和段的引入——学以致用,综合Makefile的锻炼(2023-09-25)
不能像内存一样写,执行写操作需要特殊的操作。
程序中包含有需要写的全局或者静态变量,它们在bin文件中,写在nor flash上,直接修改这样的变量是无效的。
到底什么意思呢?还是......
GCC的简单指令的分析(2023-09-05)
GCC的简单指令的分析;记下来以后以便于查询,以后还会更新更多的命令
-c 编译或者汇编源文件但是不作为连接,编译器输出对英语原文件的目标文件。
-S 编译后停止不进行汇编,对于每个属于的非汇编语言文件......
S3C2440中的GPIO(2024-07-17)
, [r1] /* 恢复原来的值 */
bl main
halt:
b halt
c语言源文件如下
#include "s3c2440_soc.h"
void delay......
C语言宏定义的使用原理(2024-01-10)
C语言宏定义的使用原理;使用STM32开发的朋友不知道是否有发现过这样的一些宏定义? 如下:
#if defined (__CC_ARM)
#pragma anon_unions......
为什么学习STM32时还要学习汇编(2024-02-28)
学习读汇编,为什么学习汇编?
1、性能
直接翻译为机器语言,性能最高。优秀的C语言效率只能达到汇编的80%左右。其他高级语言跟汇编一比差得更远。语言越高级性能越差。很多bootloader和BIOS用汇......
学习STM32时为什么要学习汇编?(2024-01-25)
学习读汇编
为什么学习汇编?
性能
直接翻译为机器语言,性能最高。优秀的C语言效率只能达到汇编的80%左右。其他高级语言跟汇编一比差得更远。语言越高级性能越差。很多bootloader和BIOS用汇......
在学习STM32时为什么要学习汇编?(2024-09-26)
学习读汇编,为什么学习汇编? 1、性能 直接翻译为机器语言,性能最高。优秀的C语言效率只能达到汇编的80%左右。其他高级语言跟汇编一比差得更远。语言越高级性能越差。很多bootloader和BIOS用汇......
C51热启动代码的编制(2024-07-25)
startup.a51源文件,然后用编译程序所附带的a51.exe程序对 startup.a51编译,得到startup.obj文件,然后用这段代码代替原来的起始代码。具体步骤是(设C源程......
M20 中断、定时器与程序存储方式(2023-01-30)
函数可以被主函数调用。
e、继续往下进行,我们只在keil中编写完了程序还不行,需要知道程序是怎么一步步编译成单片机能够存储的格式的。
源程序编写完成
编译链接成二级制格式文件
我们从C语言源文件......
STM32H7的启动过程分析(2023-08-09)
说如果外面声明了的话会调用外面的。 这个声明很重要,它让我们可以在C文件中任意地方放置中断服务程序,只要保证C函数的名字和向量表中的名字一致即可。
第6行:IMPORT:伪指令用于通知编译器要使用的标号在其他的源文件......
汇编和C语言相结合的51单片机编程技巧(2023-06-25)
序模块最后一行要写一个END,没有这一句,编译器不会报错,但会出现警告,容易出现问题,为了规范编程,大家还是别偷懒了。
最后一点就是头文件的作用了,这跟C语言的作用一样,可以对变量或函数进行声明,这个......
Multi2sim10单片机的仿真实现及在数字电路中的应用(2024-01-17)
”,在工作区下面是项目名“p roject2 ”, 在项目名下面是源文件名“Led11. c”,如图3所示。
图3工作区项目和文件
2编写MCU源C语言程序
2. 1双击“设计工具盒”中的源文件......
C51编程经验汇总分享(2023-04-06)
不了热启动的要求。这是为什么呢?原来,用C语言编程时,开机时执 行的代码并非是从main()函数的第一语句开始的,在main()函数的第一语句执行前要先执行一段‘起始代码’。正是这段代码执行了内存清零的工作。 C......
STM32单片机的断言机制函数assert_param解析(2024-05-13)
(A.。.G)基址中的一个,只要有一个为真则其值为真,否则为假,不用多说,这是C语言中基本的逻辑运算。当然这个库函数也用的很有意思,看:首先对PERIPH进行取址,也就是求地址,&PERIPH......
C51使用经验(2022-12-27)
;*( HotPoint)=0xaa;}/*正常工作代码*/}
然而实际调试中发现,无论是热启动还是冷启动,开机后所有内存单元的值都被复位为0,当然也实现不了热启动的要求。这是为什么呢?原来,用C语言编程时,开机......
详解STM32启动过程(2024-04-24)
中任意地方放置中断服务程序,只要保证C函数的名字和向量表中的名字一致即可。
第6行:IMPORT:伪指令用于通知编译器要使用的标号在其他的源文件中定义。但要在当前源文件中引用,而且无论当前源文件是否引用该标号,该标号均会被加入到当前源文件......
Keil MDK中enum类型数据大小的问题(2023-12-18)
enum类型大小的问题。本文引用地址: MDK中对enum类型大小的分配原则是能够包含所有枚举元素的最小整形,即刚好够用的整形实现。什么意思呢?就是如果一个unsigned char能够......
GCC编译器原理(一)------交叉编译器制作和GCC组件及命令(2024-08-26)
通过用 `.o' 替换源文件名后缀 `.c'、`.i' 等等,产生 目标文件名。可以使用-o选项选择其他名字。
汇编语言的形式依赖于编译程序的目标平台。如果编译多个源文件,会为每个源文件都生成一个汇编语言......
Keil C51编译器的使用(2024-08-14)
其实也是调用了'C51'中的编译器来完成的,所以我们将着重讲解一下'C51'文件夹;
C51文件夹下有以下文件夹
(1).ASM – 使用汇编语言时所包含的头文件
(2).BIN – 编译器执行文件......
printf()是如何与UART外设驱动函数“勾搭”起来的?(2023-03-27)
标准定义的头文件,由工具链自动提供。
stdio.h 是 C 语言为输入输出提供的标准库头文件,其前身是迈克·莱斯克 20 世纪 70 年代编写的“可移植输入输出程序库”。C 语言......
ADC0834模块的C51源程序(2023-03-28)
包含命令“#include”将其加入到程序中去。这样当需要修改某个参量时,只须修改相应的包含文件或宏定义,而不必对使用它们的每个程序文件都作修改,从而有利于文件的维护和更新。
源程序,是指未经编译的,按照一定的程序设计语言......
存储器映射与寄存器映射的区别 推挽输出和开漏输出的概念(2024-03-18)
就来说一下魔术棒里面比较重要的一处配置,如下图所示:
第一个红框的意思:
相当于我们在文件中使用“define”语句定义宏一样,在编译器中添加宏的好处就是,只要用了这个模板,就不用源文件......
KEIL输出窗口(Build Output)信息含义(2024-08-05)
是后期调试下载的关键文档;
⑤ “timer_led”程序中有0个错误,0个警告;
参考资料:(1)keil编译后下方的输出窗口有句话 Program Size:data= 9.0 xdata=0 code=50 这句话是什么意思......
GCC中的内嵌汇编语言(2023-06-27)
有这样一条指令asm("movl %0,%1"::"m"(foo),"m"(bar));如果你用gcc -c -S选项编译该源文件,那么在生成的汇编文件中,你将会看到生成了movl foo,bar这样......
干货,三分钟教你Keil C51软件的使用方法(2024-01-26)
”屏幕好下图所示
注意到“Source Group 1”文件夹中多了一个子项“Text1.c”了吗?子项的多少与所增加的源程序的多少相同
7)现在,请输入如下的C语言源程序:
#include......
单片机固件中加入版本信息的方法(2023-03-27)
是C语言中的内置宏,分别是当前的编译日期和编译时间)。
const AppInfo_t sg_tAppInfo =
{
"STM32_V0.1.5",
__DATE__......
嵌入式开发 | 单片机能用C++开发吗?(2023-04-06)
、STM32,用C++编程点亮LED,给初学者提供一下思路。
为什么很少用C++开发单片机
不知道大家对面向过程和面向对象的理解有多少?
C语言是面向过程的语言,C++是面向对象的编程语言。结合......
GCC的常用的一些总结(2023-09-05)
-Wall -o -O(1~3)
下面解释常用命令的意思:
-c:只编译不连接 此命令用于编译每一个.c 文件成为汇编语言 等着最后一起连接
-S: 只编译不生成汇编语言
-E: 只是进行预编译......
STM32电子钟万年历时钟闹钟LCD1602仿真设计(2024-06-14)
STM32电子钟万年历时钟闹钟LCD1602仿真设计;仿真:protues 8.9
程序编译器:keil 5
编程语言:C语言
编号C0003
题目要求:
1.具有显示年、月、日、时、分、秒功......
的 input-file 将被覆盖)。
-I bfdname
--input-target=bfdname 明确告诉 Objcopy ,源文件的格式是什么,bfdname 是 BFD 库中......
Sqlite移植到mini2440(2024-06-27)
下载到开发板的/lib目录中即可。 include 目录下是sqlite的C语言API的头文件,编程时会用到。
5.在开发板上测试移植的sqlite数据库。登录开发板的Linux,执行......
stm32开发常用的软件和语言介绍(2023-10-12)
器和汇编器从源代码生成
可重定位的目标文件。
KeilC51 编译器完全遵照 ANSIC 语言标准,支持 C 语言的所有标准特性。另外,直接
支持 8051 结构的几个特性被添加到里面。
KeilA51 宏汇......
在U-boot中添加以太网驱动(2023-09-07)
("__def_eth_init")));
可见,实现__def_eth_init的“alias ”,bash命令里面有个alias,如果你用过就明白这是什么意思了,实现它,就可......
一文解析STM32启动流程(2024-02-03)
义时赋予 “ 0 值” 给该变量进行初始化(若定义该变量时没有赋予初始值,编译器会把它当 ZI-data 来对待,初始化为 0)。 ZI-data 的栈空间(Stack)及堆空间(Heap):在 C 语言......
Android + Mini2440 无线网络视频监控系统 SQLite的移植(2024-06-21)
lib 然后分别将bin下的文件下载到开发板的/usr/bin目录中, lib下的所有文件下载到开发板的/lib目录中即可。 include 目录下是sqlite的C语言API的头文件,编程......
mini2440上移植sqlite3.7.6.2(2024-06-28)
的lib目录中即可。 include 目录下是 sqlite 的 C 语言 API 的头文件,编程时会用到, 复制到arm-linux-gcc的include目录下。
5. 在开......
八、ARM 汇编程序格式和程序控制(2023-07-11)
(EXTERN ) --用于通知编译器要使用一个在其他的源文件中定义的标号
GET (或 INCLUDE ) --用于将一个源文件包含到当前的源文件中
例子:
AREA Buf,DATA......
五、精简指令集和复杂指令集指令格式(2023-07-11)
(8051) 复杂指令集
N=34 (ARM) 精简指令集
SWAP(1) MOV (3) 2/8 定律
5.1.2 编程语言
编程语言分为编译型和解释行
源文件--》编译器--》字节码--》JVM......
手把手教你学51单片机-点亮LED(2024-08-22)
址值则不能更改,否者会编译出错。) sbit 表示位的意思,它也是非标准C 语言的关键字,编写程序时如需操作寄存器的某一位(可位寻址的寄存器才能用)时,需定义一个位变量,此时就要要到sbit,如sbit deng......
基于51单片机最小系统点亮一个灯的程序(2023-08-09)
如果修改一下:P1 = 0xff;就是熄灭所有灯吧
如果修改成P1 = 1;那会变成什么结果呢?1是不是就是0x01这么转换就明白什么意思了吧,它对应的就是除P1.0外其他引脚对应的LED都点亮。其他......
ARM基础:为何C语言(的函数调用)需要堆栈,而汇编语言却不需要堆栈(2024-08-13)
会传递给被调用的函数一些参数,对于这些C语言级别的参数,被编译器翻译成汇编语言的时候,就要找个地方存放一下,并且让被调用的函数能够访问,否则就没发实现传递参数了。对于找个地方放一下,分两种情况。
一种情况是,本身......
如何得当使用C语言的特殊的用法(2024-06-20)
时刻的时间字符串 如”1000“__STDC__:判断该文件是不是标准C程序
1.__FILE__编译文件名称
File中文意思即文件,这里的意思主要是指:正在编译文件对应正在编译文件的路径和文件的名称。
Keil......
STM32单片机编程方式及工作原理(2023-07-03)
语言或其他编程语言编写STM32单片机的应用程序,根据具体需求调用各种外设库函数,控制外设的操作和数据传输,实现特定的功能。
编译和链接:使用编译器将源代码编译为机器代码,并将不同的源文件链接成一个可执行文件......
[] code 是什么作用?
code的作用是告诉单片机,我定义的数据要放在ROM(程序存储区)里面,写入后就不能再更改,其实是相当与汇编里面的寻址MOVX(好像是),因为C语言......
嵌入式软件开发常用的套路与技巧(2023-12-12)
嵌入式软件开发常用的套路与技巧;01. 调试相关的宏
在Linux使用gcc编译程序的时候,对于调试的语句还具有一些特殊的语法。本文引用地址:gcc编译的过程中,会生成一些宏,可以使用这些宏分别打印当前源文件......
u-boot-1.3.4 移植到S3C2440 (带有某些解析)(2024-07-26)
, [r0]/*这三条协处理器命令确实不知道什么意思,在ATXJGYBC_ql.pdf中搜p15和c1,只知道它们执行以后会把协处理器p15的寄存器c1的最高两位置1,但c1的最高两位是没有意义啊,弄不懂它的真正意思......
入门有必要选择STM32Cube HAL库开发吗?(2023-08-10)
你自己写一个同样的函数(HAL_UART_MspDeInit),那么,这里带有weak关键字的函数就不起作用。
还有,有朋友问:不知道工程中很多UNUSED函数是什么意思。你自己看一下注释就知道,它的为了防止编译警告,“未使......
相关企业
过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。板子上的微控制器可以通过Arduino的编程语言来编写程序,编译成二进制文件,收录进微控制器。对Arduino的编
;art科技有限公司;;提供专业的数据采集方案,主营数据采集卡PCI/USB/PXI/PC104,RS485采集模块,嵌入式主板,GPRS和RTU,信号调理模块 软件支持: VC 、VB、C
;PSD分层素材;;<>,300dpi,psd源文件 中国广告素材有限公司由北京平面设计联盟创办,致力于设计素材的开发与销售。分层库每个PSD文件都是一个完整的设计稿,全部为300dpi,psd源文件
;分层素材;;<>,300dpi,psd源文件 中国广告素材有限公司由北京平面设计联盟创办,致力于设计素材的开发与销售。相继开发出<>二代、<>、<>、<>、<>、<>等经典实用的设计资源。 PSD
精细,如果你对我公司产品有什么意见请来电咨询,Tel:0373-7030111 7030222 FAX:0373-7030222 手机 :13938702128
;勤思智能电子;;PCB板制作及打样 C语言程序编写 新项目开发
国德克萨斯的Keil Software Inc。Keil公司制造和销售种类广泛的开发工具,包括ANSI C编译器、宏汇编程序、调试器、连接器、库管理器、固件和实时操作系统核心(real-time kernel
;永德翔江科技有限公司;;专业从事单片机软件反汇编研究,自主研发多款单片机系列反汇编工具,将二进制机器码文件精准的反汇编成汇编语言代码,辅助人工分析,快速将部分或整个机器码文件还原成C代码。团队
上有很多成功案例;在语言编程方面,能够根据客户要求使用C,C++,VB,VC++,PRO C,JAVA,JSP,C++ BUILDER等语言来开发。 我们的服务 质量保证、交货快捷、诚信互惠、是您
;深圳市鸿源文具有限公司;;香港鸿源文化用品有限公司(深圳市鸿源文具有限公司)是一家专业生产印刷笔记本上装订材料的厂家,目前公司产品70%出口海外,在国内外市场均具有较强的影响力,我司