单片机编程语言

  1. 汇编语言:
    低级语言
    直接操作底层寄存器
    执行效率最高
    不易移植
    不易编写和读懂
    学习难度大
  2. C语言
    高级语言
    更偏向用户
    效率不如汇编
    易移植
    易编写和读懂
    学习难度小

对比两种语言,我们更偏向于使用C语言!

单片机C语言编程组成

1.基本规范

语句之间的分隔: ;
括号:(表达式), (优先运算式), [数组地址], {语句}
注释符://单句注释,/* */段落注释
声明:函数声明, 变量声明
数组:一维数组, 二维数组

2.数据类型

位型:bit
无符号字符形:unsigned char
有符号字符型:signed char
无符号整型:unsigned int
有符号整型:signed int
无符号长整型:unsigned long
有符号长整型:signed long
浮点型:float
双精度浮点型:double

3. 符号与表达式

算数运算符:=(赋值),+,-,*,/,%(求余)
关系运算符:<,>,<=,>=,==,!=
逻辑运算符:&&,||,!
位操作:&,|,^(按位异或),~,<<,>>

4.语句

选择语句:if语句,switch语句
循环语句:for语句,while语句
其他:#include ,#define

更多C语言学习内容:杜老师的C编程

STM32学习之编程语言的介绍(参考洋桃电子视频)相关推荐

  1. STM32之添加工程文件(参考洋桃电子视频)

    添加工程文件步骤 与添加固件库相似. 1.点击右键,新建文件夹并取名字 2.在文件夹中新建子文件夹并命名 3.在子文件夹里建立文本文档,把名字改为xxx.c和xxx.h 4.在keil软件中添加驱动程 ...

  2. STM32之固件库的调用(参考洋桃电子视频)

    STM32固件库中有许多函数,每个函数代表着不同的意义. 在工程中,后缀为.s的是汇编语言编写的文件,后缀为.c的是C语言编写的文件. 在整个工程中,只有Startup中的startup_stmf10 ...

  3. AVI音视频封装格式学习(二)——AVI RIFF文件参考

    AVI RIFF文件参考 AVI RIFF File Reference 微软AVI文件格式是与捕获,编辑和播放音视频流的应用程序一起使用的RIFF文件规范.通常,AVI文件包含多个不同类型的数据流. ...

  4. 《STM32学习笔记》4——核心功能电路与编程(下)

    接上文,文中的图片,大多数来自视频的截图(来自洋桃电子). 欢迎大家批评指正! STM32学习笔记-专栏 文章目录 一.蜂鸣器驱动 1.蜂鸣器介绍 2.蜂鸣器电路 3.蜂鸣器程序 二. MIDI 音乐 ...

  5. STM32系列微控制器入门介绍

    文章目录 目的 基础需求 电路基础 编程语言 入门介绍 官方网站 型号选择 开发方式 开发工具 程序调试 固件烧录 资料说明 总结 目的 STM32是意法半导体(ST)推出的主要基于ARM Corte ...

  6. 《STM32学习笔记》2——开发环境的建立

    接上文,文中的图片知识,大多数来自视频的截图(来自洋桃电子). 欢迎大家批评指正! STM32学习笔记-专栏 文章目录 一.接口定义 1 芯片引脚整体简介 2 各部分引脚介绍 二.开发板简介 三.IS ...

  7. STM32学习之TFTLCD

    前言 之前的STM32博客学习了从0新建工程,C语言知识复习,总线时钟等基础知识,现在根据手册开始正式的开发项目,本篇博客主要是理解文档中的TFTLCD部分的学习 学习资料来自:STM32F407最小 ...

  8. STM32学习心得二十一:实时时钟RTC和备份寄存器BKP特征、原理及相关实验代码解读

    记录一下,方便以后翻阅~ 主要内容 1) RTC特征与原理: 2) BKP备份寄存器特征与原理: 3) RTC常用寄存器+库函数介绍: 4) 相关实验代码解读. 实验内容: 因为没有买LCD屏,所以计 ...

  9. STM32学习笔记 | 引起电源和系统异常复位的原因

    关注+星标公众号,不错过精彩内容 每一块处理器都有复位的功能,不同处理器复位的类型可能有差异,引起复位的原因也可能有多种. STM32的复位功能非常强大,可通过软件.硬件和一些事件触发系统复位,而且通 ...

最新文章

  1. 一文理解 DDD 领域驱动设计!
  2. min3d 引擎学习笔记之一
  3. PHP设置二维码中间为logo
  4. jQuery lazyload 懒加载
  5. Android 开发(一)项目概况
  6. git之Pushing to the remote branch is not fast-forward错误解决
  7. php文件多上传文件,php文件上传(多文件上传)
  8. matlab生成exe-在没有安装matlab的电脑上运行matlab生成的exe
  9. django 1.8 官方文档翻译:7-2 管理操作
  10. jenkins 读取json文件_使用插件轻松获取jenkins构建数据
  11. Android Studio NDK报错:mips64el-linux-android-strip 找不到
  12. python求解矩阵搜索问题,矩阵中每一行和第一列都是递增的 给定一个元素查找矩阵中是否存在该元素
  13. 测试工程师日常工作流程
  14. 图片复印如何去除黑底_如何去除扫描件的底色? 扫描的图片去除背面的阴影的方法...
  15. 2081.09.22 Kuma(非旋treap)
  16. js实现简单的点名器随机色
  17. 无限火力跳跳机器人_2021LOL无限火力机器人最强出装和天赋介绍
  18. element el-upload 一次上传单张/多张图片(多选)
  19. kitti rotation,label等细节相关
  20. [乱七八糟][转]这不是你想象中的软件产业

热门文章

  1. Decaf-platform安装篇
  2. python 爬取_Python爬虫爬取马蜂窝北京景点信息
  3. 100G QSFP28 电缆有哪些类型?
  4. 联想电脑管家 锁屏壁纸目录
  5. 在ZF2中实现Zend Framework的Controller init/preDispatch/postDispatch方法
  6. vsCode 自定义用户片段snippet
  7. win10c语言0xc0000142,Win10应用程序无法正常启动0xc0000142错误的解决方法
  8. cvte面试经验Java_CVTE Java Web后台开发 一\二面面经
  9. 苹果x面容id不可用是什么原因_苹果全系列面容都可以修复了无面容iPhone有救了?...
  10. ios8越狱无cydia