当前位置: 首页 > news >正文

【嵌入式C语言】

1.1C语言会被淘汰吗?

一、C语言的历史

C89标准不允许定义可变长度的数组,只能设定固定长度的数组,比如a[10],另外,函数的变量只能定义在函数的开始位置,比如char*p只能定义在printf的前面,否则编译会报错

在设置里面,如果没有选择C99选项,那默认是C89的标准


在C89的标准下,这么写是有问题的,在C99的标准下是没有报错的

二、C语言的特点

1.2如何成为嵌入式开发高手?

1.3如何搭建开发环境

ARM是针对ARM单片机的,C51是针对51单片机的,下面的C251是针对51单片机的升级版本

C251和51的区别

按照路径不要带有中文或中文字符

mdk软件是需要注册license的

第一个是编译选项,第二个是增量编译,只编译修改的文件,第三个是全量编译,对所有文件编译,花费时间更长一些

调试仿真

调试复位 全速运行  单步跟踪时进入函数  单步跟踪时不进人函数  跳出函数   跳转到光标位置

显示汇编指令

显示ARM内核的寄存器

添加观察的窗口

显示打印调试信息

逻辑分析仪

1.4初识程序结构

main函数,的函数首部不能改变,只能修改函数体

1.5程序编译与运行简介

一、编译过程简介

二、编译信息

显示中文注释,在这个注释里选中Chinese GB2312就可以了

这里可以设置tab键的宽度

2.1单片机中数据的表现形式

 2.2为什么要引入数据类型?

在观察窗口中取地址可以看到在内存窗口中所占的位置

可以在memory窗口查看对应的地址空间所存储的内容

volatile代表不要对变量进行优化,这样在调试窗口里才可以获取到变量的地址

这三个变量占用的空间大小都是4个字节

2.3为什么要使用C99的整数类型

2.4sizeof用法

2.5负数的二进制表现形式

http://www.dtcms.com/a/321148.html

相关文章:

  • C语言:结构体
  • mac电脑解决在不同项目需要频繁手动切换node版本的困扰
  • Autosar AP功能组状态和模型进程是否预定义后不改变了?
  • Mac 电脑放在环境变量中的通用脚本
  • 从浅拷贝到深拷贝:C++赋值运算符重载的核心技术
  • SITIME汽车时钟发生器Chorus保障智能汽车安全
  • 《告别Bug!GDB/CGDB调试实战指南》
  • 「iOS」————优先级反转
  • 解决Docker部署的MySQL8错误日志里面的 mbind: Operation not permitted 问题
  • 构建安全 Web 应用:从用户认证与授权到 JWT 原理解析
  • python使用python-docx自动化操作word
  • 【杂谈】-逆缩放悖论:为何更多思考会让AI变“笨“?
  • Numpy科学计算与数据分析:Numpy布尔索引与花式索引实战
  • 一种对白点进行多重加权并利用三角剖分插值微调白平衡增益的白平衡矫正算法
  • RAG问答系统:Spring Boot + ChromaDB 知识库检索实战
  • 3D Tiles 格式中,Bounding Volum
  • 基于AutoDL平台的3D_Gaussian_Splatting初体验
  • 在 Vue 中使用 ReconnectingWebSocket实现即时通讯聊天客服功能
  • 2025 前端真实试题-阿里面试题分析
  • 关于数据结构6-哈希表和5种排序算法
  • Maptalks vs Cesium
  • 【最新版】2025年搜狗拼音输入法
  • “电子合同”为什么会出现无效的情况?
  • OpenCV cv2.flip() 函数详解与示例
  • 深入理解 Java AWT Container:原理、实战与性能优化
  • ORACLE看当前连接数的方法
  • 柠檬笔试——野猪骑士
  • 南方略咨询与与清源科技正式启动国际市场GTM流程规划咨询项目!!!
  • 汽车电子:现代汽车的“神经中枢“
  • Eyevinn 彻底改变开源部署模式