- 博客(36)
- 收藏
- 关注
原创 3.球钟问题
每过一分钟,球钟就会从球队列的队首取出一个球放入分钟指示器,分钟指示器最多可容纳4个球。在放进去第五个球的时候,分钟指示器内的4个球就会按照他们被放入时的相反顺序加入球队列的队尾。队列中球数为27:小时容器11个 + 5分钟容器11个 + 1分钟容器4个 = 26个,第27个球的作用很特殊,作用是把这26个清空,实现11:59到00:00的转变。若分钟指示器中有2个球,5分钟指示器中有3个球,小时指示器中有4个球,则时间为4:17。它有三个可以容纳若干个球的容器:分钟指示器,五分钟指示器,小时指示器。
2024-03-07 18:07:09 405
原创 5.SRAM
STM32F4系列芯片使用FSMC外设来管理扩展的存储器,FSMC是Flexible Static Memory Controller的缩写,译为灵活的静态存储控制器。它可以用于驱动包括SRAM、NOR FLASH以及NAND FLSAH类型的存储器,不能驱动如SDRAM这种动态的存储器。而在STM32F429系列的控制器中,它具有FMC外设,支持控制SDRAM存储器。
2024-03-03 20:27:53 1022 1
原创 4.SPI协议
SPI接口是Motorola 首先提出的全双工三线同步串行外围接口,采用主从模式(Master Slave)架构;支持多slave模式应用,一般仅支持单Master。时钟由Master控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后(MSB first);SPI接口有2根单向数据线,为全双工通信,目前应用中的数据速率可达几Mbps的水平。SPI总线被广泛地使用在FLASH、ADC、LCD等设备与MCU间,要求通讯速率较高的场合。
2024-03-03 16:19:23 1085
原创 2.静态编译与动态编译
/代表的是当前目录,如果不加./,系统会默认到PATH环境变量中去寻找,如果找不到则会报错,如果恰巧找到了一个同名的可执行程序,程序会执行,但得到的结果并不是我们所需要的,因为它执行的并不是我们编译好的可执行程序。编译函数生成目标文件(.o) --> 生成静态库(libxxx.a) --> 编写程序,用到了静态库中的函数 --> 编译、链接静态库 --> 执行。-->编写程序,用到了共享库中的函数 --> 编译、链接共享库 -->根据库的功能,可以划分为:标准C库、数学库、线程库等。
2024-03-02 21:14:40 901
原创 3.I2C协议
I2C(Inter-Integrated Circuit)总线(也称IIC或I2C)是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备,是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,期间封装形式少,通信速率高等优点。
2024-03-02 15:43:13 349
原创 2.UART协议
是全双工串口总线,有两根线,一根TXD用于发送,一个RXD用于接收。:开始进行数据传输时发送方要先发出一个低电平’0’来表示传输字符的开始。比如TXD串口发送0x05时,数据格式是(1 0 1 0 0 0 0 0)。奇校验(odd parity):如果数据位中’1’的数目是偶数,则校验位为’1’,如果’1’的数目是奇数,校验位为’0’。偶校验(even parity):如果数据为中’1’的数目是偶数,则校验位为’0’,如果为奇数,校验位为’1’。:数据结束标志,可以是1位,1.5位,2位的高电平。
2024-03-02 15:28:23 366
原创 18.Makefile
都有这个命令,比如:Delphi的make,[Visual C++](https://baike.baidu.com/item/Visual C%2B%2B)的nmake,Linux下GNU的make。可见,makefile都成为了一种在工程方面的编译方法。还可以是一个标签(Label),对于标签这种特性,在后续的“伪目标”章节中会有叙述。make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的。也就是make需要执行的命令。就是,要生成那个target所需要的文件或是目标。
2024-02-23 20:39:58 297
原创 17.GDB调试工具
GDB是GNU开源组织发布的一个强大的Linux下的程序调试工具。一般来说,GDB主要帮助你完成下面四个方面的功能:1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序(按着自己的想法运行)。2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)3、当程序被停住时,可以检查此时你的程序中所发生的事。4、你可以改变你的程序,将一个BUG产生的影响修正从而测试其他BUG。GDB支持以下编程语言 :•Ada•Assembly•C•C++•D•Fortran。
2024-02-23 20:22:06 354
原创 16.C语言GCC编译与条件编译
GCC 原名为 GNU C 语言编译器(GNU C Compiler),只能处理 C 语言。但其很快扩展,变得可处理 C++,后来又扩展为能够支持更多编程语言,如 Fortran、Pascal、Objective -C、Java、Ada、Go 以及各类处理器架构上的汇编语言等,所以改名 GNU 编译器套件(GNU Compiler Collection)。GCC(特别是其中的 C 语言编译器)也常被认为是跨平台编译器的事实标准。
2024-02-23 19:08:43 934
原创 14.C语言typedef关键字
typedef是在计算机编程语言中用来为复杂的声明定义简单的别名,可以是内部数据类型也可以是自定义数据类型。typedef <已有数据类型> <新数据类型>;这里新定义了数据类型INTEGER, 其等价于int。
2024-02-23 17:33:42 360
原创 10.C语言函数
函数是一个完成特定功能的代码模块,其程序代码独立,通常要求有返回值,也可以是空值。一般形式如下:<数据类型> <函数名称>( <形式参数说明> ) { 语句序列; return[(<表达式>)];<数据类型>:是整个函数的返回值类型;return[(<表达式>)]:语句中表达式的值,要和函数的<数据类型>保持一致,如无返回值应该写为void型;<形式参数说明>:是逗号","分隔的多个变量的说明形式;大括弧对 {<语句序列> }:称为函数体;
2024-02-22 21:23:09 796 1
原创 9.C语言指针
在C语言中,数组的指针是指数组在内存中的起始地址,数组元素的地址是指数组元素在内存中的起始地址。二维数组名代表数组的起始地址,数组名加1,是移动一行元素。在C语言中,内存单元的地址称为指针,专门用来存放地址的变量,称为指针变量。在C编程中,当一个字符指针指向一个字符串常量时,不能修改指针指向的对象的值。<存储类型> <数据类型> (*<指针变量名>)[表达式];<存储类型> <数据类型> *<指针变量名> = <地址量>;<存储类型> <数据类型> * <指针变量名>;
2024-02-22 13:45:15 933 1
原创 8.C语言字符串
C语言中无字符串变量,用字符数组处理字符串,字符串结束标志:‘\0’。字符数组是元素的数据类型为字符类型的数组。库:#include<string.h>内存存放的是字符ASCII码。
2024-02-21 18:37:24 369
原创 7.C语言数组
所谓一维数组是指只有一个下标的数组。<存储类型> <数据类型 > <数组名>[<表达式>];对static数组元素不赋初值,系统会自动赋以0值。a[5] = 10 //错误。只能逐个引用数组元素,不能一次引用整个数组。初始化方式:在定义数组时,为数组元素赋初值。C语言对数组不作越界检查,使用时要注意。数据类型 数组名[行数] [列数];用变量定义数组维数时,要给变量赋值。数组元素表示形式:数组名[下标]数组不初始化,其元素值为随机数。数组必须先定义,后使用。只给部分数组元素赋初值。
2024-02-21 15:19:03 374
原创 4.C语言运算符
C提供的算术运算符:+,-,*,/,%,++,如下:float/double不能取余。<表达式2> : <表达式3>运算的一般形式:sizeof(<类型或变量名>)注意:它只针对数据类型,而不针对变量!<左值表达式> = <右值表达式><变量> <操作符>= <表达式>
2024-02-20 16:44:44 319
原创 3.C语言变量和修饰符
变量在程序中用变量名表示。变量名由用户根据其用途任意命名。变量名由字母、数字、下划线组成,不能以数字开头,不能和C的关键字重名。在程序运行时,变量占据存储空间的大小由其数据类型决定。变量在内存空间中的首地址,称为变量的地址。
2024-02-20 16:40:32 427
原创 2.C语言常量
其中,MAX、PI、NULL、 EOF和ERROR都是标识常量, 它们代替的常量分别是50、3.1415926、0 、-1和-1。’, ‘$’ 都是字符常量。", "StudentS", "9", “LINUX", "李四"所谓标识常量是指用标识符代替常量使用的一种常量, 其名称通常是一个标识符。“武汉洪山区***街道", "姓名:", “@163.com", ""字符常量是指一个单一字符, 其表示形式是由两个单引号包括的一个字符。
2024-02-20 16:37:29 327
原创 1.数据类型
类型名称 字节 值域 包 bool 1 非零(true),零(false) stdbool.h char 1 -128~127或0~255(使用/J编译选项) signed char 1 -128~127 unsigned char 1 0~255 short(signed short) 2 -32768~32767 limits.h unsigned short
2024-02-20 16:34:19 345
原创 Vim编译器
控制光标移动,可对文本进行复制、粘贴、删除和查找等工作。:保存或退出文档,以及设置编辑环境。命令模式中最常用的一些命令。末行模式中最常用的一些命令。
2024-02-20 15:58:01 336
原创 Java基础知识点
1.1 Java语法基础关键字:是某种语言赋予了特殊含义的单词。 保留字:其实就是还没有赋予特殊含义,但是准备日后要准备使用过的单词标识符:是在程序中自定义的名词,比如类名、变量名、函数名。包含0–9、a–z、$、_ ; 注意: ① 数字不可以做命名开头。 ② 不可以使用关键字。常量:是在程序中不会变化的数据变量:内存中的一个存储空间,用于存储常量数据。 作用:方便于运算。因为有些数据不确定,所以确定该数据的名词和存储空间。 特点:变量
2020-11-12 10:40:52 111
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人