自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 07-函数的声明和定义

【比如】是一个减法的计算器代码,但是厂商不愿意将减法计算器的源码卖给程序员。【cProject.lib】和【Sub.h】(5)加法和减法的使用(test.c)(1)A==>加法(Add.c)(2)A==>加法(Add.h)(3)B==>减法(Sub.c)(4)B==>减法(Sub.h)【cProject.lib】文件。1、错误示例(未声明函数)快捷键:Ctrl+F7。快捷键:Ctrl+F5。【Sub.h】头文件导入项目。2、正确示例(声明函数)2、函数声明的使用方式。

2025-01-08 23:46:47 655

原创 06-函数的嵌套调用和链式访问

打印在屏幕上字符的个数。

2025-01-07 21:42:23 283

原创 02-构建一个基本的 Keil 工程

链接:数据手册。仅有英文。【注】主要用途是用来查询 IO 口的排列!!!链接 :用户手册。可以下载英文和中文两个版本。【注】这个手册可以了解有关的各个外设(SPI、IIC、串口、时钟、……)的使用方法!!! 链接 :应用软件。此文件夹用来存放【main.c】文件。此文件夹用来存放和开发板相关的外设文件。【用途】HW 文件夹主要是用来操作各个外设(SPI、IIC、串口、时钟、……)。此文件夹用来存放 GD32 官方库文件。此文件夹用来存放 CM 内核(厂商:GD、ST)标准化的接口文件。此文件夹用来存放建立和

2025-01-06 00:33:57 1223

原创 05-函数调用

例如,172800年是闰年,而86400年不是闰年,因为它虽然能被3200整除,但不能被172800整除。整型有序数组(1、2、3、4、5、6、7、8、9、10)例如,2004年是闰年,而1900年不是闰年。例如,2000年是闰年,但2100年不是闰年。5、练习四(函数调用次数计数)2、练习一的优化(素数)4、练习三(二分查找)

2025-01-05 17:20:48 598

原创 01-BootLoader 简介

此时便更新A区的程序。擦除A区程序之后,开始写入最新版本程序,但是写入过程不是一瞬间完成,若最新版本代码写入了一半,突然发生了异常断电,当设备再一次通电的时候,此时进入 Flash 起始位置,即A区。B区在前&A区在后,当A区程序更新到一半之后,设备突然断电,再次上电运行设备直接进入 Flash 起始位置,即B区(BootLoader 程序完完整整的没有因为掉电被擦除)。当有OTA事件的时候,从服务器下载最新的版本代码后,OTA_flag 被标记为√,然后跳转到B区,B区再负责更新。运行功能程序就行了。

2025-01-01 22:02:21 1014

原创 04-函数参数

【注】形式参数当函数调用完成之后就自动销毁了(形参的生命周期和局部变量的生命周期一样,在进行函数调用时,它们都必须有确定的值。),因此形式参数只在函数中有效!,以便把这些值传送给形参。无论实参是何种类型的量,(分配内存单元),所以叫。

2025-01-01 20:30:00 234

原创 03-自定义函数

③ para1 函数参数。① ret_type 返回类型。② fun_name 函数名。但是不一样的是这些都是我们。变量 a 、 变量 b。使用指针可以解决此问题。变量 x 、 变量 y。变量 x 、 变量 y。变量 a 、 变量 b。变量 x 、 变量 y。变量 a 、 变量 b。【类比】让张三带一份。

2024-12-27 22:53:37 360

原创 04-进制转换算法

最低有效位:在编程中,从右到左开始,最右边的数字被称为最低的有效位(LSB,Least Significant Bit)。从最低有效位开始,值不为 0 的位,进制的序号次方(权重)。从最后一个商(包含这个商)开始再从下往上依次的排列余数。从最后一个商(包含这个商)开始再从下往上依次的排列余数。0b 1101 1011 转换成 十进制数。0xDB 转换成 十进制数。219 转换成 十六进制数。219 转换成 二进制数。四、十六进制转十进制。五、十进制转十六进制。

2024-12-27 19:00:00 440

原创 02-库函数

在开发的过程中每个程序员都可能用的到,为了支持。【目的】方便程序员进行软件开发。填充内存块(内存设置)。3、strcpy 函数。4、memset 函数。(2)字符串操作函数。(5)时间、日期函数。指向需要填充的内存块。

2024-12-25 22:53:01 490

原创 01-函数

是一个大型程序中的某部分代码, 由一个或多个语句块组成。它负责完成某项特定任务,而且相较于其他代 码,具备相对的独立性。一般会有输入参数并有返回值,提供对过程的封装和细节的隐藏。这些代码通常被集成为软件库。数学中我们常见到函数的概念。

2024-12-25 22:52:49 221

原创 06-循环语句(do while 循环)

do while 循环是先执行 do while 循环的循环语句部分,再去执行 do while 循环的判断判断部分。② 若猜错了,就输出猜大了还是猜小了,再继续猜,直到猜对为止。【问】怎么在 1、2、3、4、5、6、7、8、9、10 的有序数组中找出数字 7?【目的】能肉眼可见的在同一行中一次一次的完成。③ 显示 wel#######################!① 显示 w###########################!② 显示 we#########################!

2024-12-23 23:32:54 3305

原创 03-进制运算原理

【比如】2 * 2 ==> 2 + 2。【解】依照上面的数字表,从数字。【解】依照上面的数字表,从数字。【解】依照上面的数字表,从数字。【解】依照上面的数字表,从数字。【解】依照上面的数字表,从数字。【解】依照上面的数字表,从数字。同理其他的加法也一样。同理其他的减法也一样。同理其他的加法也一样。同理其他的减法也一样。同理其他的加法也一样。同理其他的减法也一样。二进制的 1 ~ 20。

2024-12-23 22:30:00 281

原创 08-轮询阻塞式收发数据(STM32CubeIDE代码编译)

【注】这是一个全局变量,直接是 STM32CubeMX 配置得到的。进行时钟处理(在此阶段,时钟没有配置,故系统依靠内部的。(4)MX_USART1_UART_Init 函数调用。2、SystemClock_Config 函数声明。3、MX_USART1_UART_Init 函数。5、HAL_UART_MspDeInit 函数。5、SystemClock_Config 函数。7、assert_failed 函数(被屏蔽)4、HAL_UART_MspInit 函数。(3)MX_GPIO_Init 函数调用。

2024-12-22 02:31:11 949

原创 07-轮询阻塞式收发数据(STM32CubeMX配置)

Generate peripheral initialization as a pair of '.c/.h' files per peripheral(为每个外设生成一对‘.c/.h’文件)Copy only the necessary files(仅拷贝需要的源文件、头文件),功能:连接STM32的JTAG的TCK, SWD的SWCLK。,功能:连接STM32的JTAG的TMS, SWD的SWIO。(高速的外部时钟选择外部的水晶或者陶瓷晶振)。(PLL进行时钟的分频)。Project(工程)

2024-12-22 01:59:27 1202

原创 06-串口(USART)的原理图和端口

一、原理图一、原理图二、端口连接1、常规端口连接Tx(PA9)USB_RxRx(PA10)USB_Tx。

2024-12-22 01:54:04 635

原创 05-串口(USART)重定向代码和配置(STM32CubeIDE)

UsartProject ---> Core ---> Src ---> 【syscalls.c】,在【syscalls.c】文件中找到函数声明。将函数 int __io_putchar(int ch)进行粘贴复制到【usart.c】文件中并进行重新定义。将库的【stdio.h】文件和生成的【usart.h】文件添加进【main.h】文件中。位,监测串口总线的状态,当串口的总线空闲下来了,说明串口传输结束了,可以获取传输的数据了。(1)状态寄存器(USART_SR)(此为参考,仅是本人自身习惯)。

2024-12-22 01:52:07 1038 1

原创 03-串口(USART)通信 API 函数

输入参数: *huart (指向UART_HandleTypeDef 串口异步通信控制结构体的指针)。1:*huart (指向UART_HandleTypeDef 串口异步通信控制结构体的指针)。1:*huart (指向UART_HandleTypeDef 串口异步通信控制结构体的指针)。七、UART_Start_Receive_IT 函数。八、 HAL_UART_Receive_IT 函数。五、HAL_UART_Transmit 函数。六、HAL_UART_Receive 函数。

2024-12-22 01:47:30 2104

原创 ​02-串口(USART)通信结构体和成员

一、UART_HandleTypeDef。一、UART_HandleTypeDef。根据结构体内成员参数配置串口异步通信参数。二、UART_InitTypeDef。串口异步通信参数初始化结构体。串口异步通信总控制结构体。

2024-12-22 01:40:05 396

原创 01-串口(USART)简介

【比如】在一条串口线上进行数据传输(接收或者发送),串口就是将所有的数据进行一个二进制位一个二进制位的穿成一条串,并且一个挨着一个的通过数据传输的串口线进行传输(接收或者发送),若是同步通信还需要一条时钟线(配置一个时钟的GPIO口),若是异步通信就不需要这条时钟线了。串口最早使用的是九针串口的形式,但是现在的电脑(尤其是笔记本电脑)上面没有了。为了方便实验就会添加一个。进行数据传输(其中没有任何的间隔,没有任何的空闲帧和断开帧,也没有任何的数据交互),则。,在同样的时钟线控制之下,可以进行数据的采样。

2024-12-22 01:37:37 1073

原创 02-高级语言和汇编语言

机器语言:010111010111010111(汇编语言和机器语言的关系是一一对应。一、汇编语言和机器语言。一、汇编语言和机器语言。1、高级语言(C语言)【例子】两个数字相加。【例子】两个数字相加。

2024-12-22 01:32:40 305

原创 01-机器语言和汇编语言

数字语言就是设计成为 CPU(中央处理器)能理解的语言。CPU 有两大厂商,分别是 AMD 和 Intel。二、汇编语言(Assembly Language)机器语言(Machine Language)仅仅只有 0 和 1 的数字语言。加法操作 ==> Add。减法操作 ==> Sub。CPU(类似:人的心脏)CPU 认识的机器语言。在计算机中最重要的就是。

2024-12-22 01:29:53 232

原创 01-汇编语言的编辑器(VS2019)环境搭建

① 按住快捷键:Ctrl + Shift + A 快速新建文本。① 按住快捷键:Ctrl + Shift + A 快速新建文本。③ 点击:启动Visual Studio(S)。① 开发设置:Visual C++。② 选择:C++ 文件(.cpp)。② 选择:C++ 文件(.cpp)。⑦ 扩展下载,单击:Modify。③ 重新命名:test.asm。③ 重新命名:test.c。② 选择:管理扩展(M)。③ 搜索:AsmDude。一、VS2019 下载。一、VS2019 下载。3、VS2019 下载。

2024-12-22 01:26:19 558

原创 02-进制映射关系

十六进制数可以表示 4 个二进制数。二、二进制对应十六进制关系。

2024-12-22 00:36:31 398

原创 01-进制定义及规则

0x + 十六进制数。

2024-12-22 00:33:58 411

原创 05-循环语句(for 循环)

二、for 循环语句执行流程一、for 循环的语法结构1、表达式1表达式1为初始化部分,用于初始化循环变量的。表达式2表达式2为条件判断部分,用于判断循环什么时候终止。表达式3表达式3为调整部分,用于循环条件的调整。使用 for 循环语句打印数字 1~10。5、示例调试(1)i 为随机值在定义初始化变量 i后,没有执行定义变量初始化这条语句时,i 的值是随机值。(2)i = 0执行定义变量并初始化这条语句时,i = 0,执行for的。

2024-12-21 23:57:01 2667

原创 04-循环语句(while 循环)

⑥ 如果 getchar 返回的字符放入的 ch 并且发现返回的这个字符是 EOF ,而 EOF == EOF ,此时 while 的判断条件为假,因此不再进入 while 的主体循环去执行 getchar 函数。在 while 循环中,continue 的作用是跳过本次循环中 continue 后面的代码,直接去 while 循环的判断部分,看是否要再进行下一次的循环。对于 while 循环来说,随着循环语句的增加,这三个部分的距离也就会越来越远。字符(0)的十进制是 48,字符(9)的十进制是 57。

2024-12-21 23:04:17 1776

原创 03-分支语句(switch 语句)

想要实现上述的代码,使用 if else 语句就显得较为麻烦,因此就使用 switch 来实现。【需求】1、输入 1~5 就输出 “工作日”。输入 1,则 输出 星期一、星期二、星期三、星期四、星期五、星期六、星期七。当没有阻止它停止的语句,它就会一直依次的执行后面的所有语句,直到给这个。输入 2,则输出 星期二。输入 3,则输出 星期三。输入 7,则输出 星期七。当输入 2,则 输出 星期二、星期三、星期四、星期五、星期六、星期七。【比如】 输入 1,则输出 星期一。中并不认为适合错误。

2024-12-21 21:43:06 754

原创 02-分支语句(if 语句)

【描述】如果 condition 成立则返回 x, 之后代码就不会往下执行了,即不执行返回 y。正确书写代码,有助于提高代码的阅读性。(3)示例1结果分析(错误示例)(2)输出 1~100 之间的奇数。【奇数】除 2 余 1 的数字。【奇数】除 2 余 1 的数字。(2)示例1结果(错误示例)分支语句对应的是选择结构。有助于提高代码的编写风格。(1)判断一个数是否为奇数。一、if 语句的语法结构。2、语法结构二(双分支)3、语法结构三(多分支)(1)示例1(错误示例)5、if 书写形式的对比。

2024-12-21 21:37:05 949

原创 16-结构体

> 是指针指向对象中的变量。一、结构体变量的创建。

2024-12-21 21:05:57 173

原创 15-指针

计算机中程序的运行都是在内存中进行的。32位机器 —— 32bit —— 4Byte。64位机器 —— 64bit —— 8Byte。xxx省xxx市xxx区xxx大学xx楼。[变量1] = &[变量2]1 和 0 组成的二进制序列。内存是一个很大的空间。64 位机器,也是一样。地址的存储需要多大空间。电信号转换成数字信号。

2024-12-21 21:00:43 449

原创 14-define 定义常量和宏

一、define 定义符号。二、define 定义宏。

2024-12-21 20:50:29 195

原创 13-常见的关键字

二十、structchardoublefloatintlongshortsignedunsignedautobreakcaseconstcontinuedefaultdoelseenumexternforgotoifregisterreturnsizeofstaticstructswitchtypedefunionvolatilewhile【特点】C语言提供的关键字。一、auto表示自动的,每一个局部变量都是auto修饰的。

2024-12-21 20:44:49 802

原创 12-操作符

十、下标引用、函数调用、结构体成员。1、[ ](下标引用操作符)2、()(函数调用操作符)减减(前置 或 后置)加加(前置 或 后置)(1)前置++(加加)(2)后置++(加加)二进制表示有 3 种。

2024-12-21 20:30:00 2066

原创 11-数组

规定每个元素都有下标。

2024-12-20 21:49:59 181

原创 10-函数

二、示例修改(函数形式)一、示例(非函数形式)一、示例(非函数形式)

2024-12-20 21:44:41 188

原创 09-循环语句

【代码】09-循环语句。

2024-12-20 21:41:11 252

原创 08-选择语句

【代码】08-选择语句。

2024-12-20 21:38:27 151

原创 07-注释

☆ 代码中有不需要的代码可以直接删除,也可以注释掉。☆ 代码中有些代码比较难懂,可以加一下注释文字。可以注释一行也可以注释多行。二、C++风格的注释*一、C语言风格的注释。

2024-12-20 21:02:27 198

原创 06-转义字符

ddd表示1~3个八进制的数字。在书写连续多个问号时使用,防止他们被解析成三字母词。用于表示一个反斜杠,防止它被解释为一个转义序列符。dd表示2个十六进制数字。已到介质末端/介质存储已满/介质中断。,导致信息本能按照要求打印出来。用于表示一个字符串内部的双引号。9、printf 的打印格式。无响应/非正常响应/拒绝接收。键盘上的每个字符编成的数值。是用来打印整型数据的。二、C语言中的转义字符。是用来打印字符串的。传输块结束/块传输终止。回应/响应/收到通知。设备控制1/传输开始。设备控制3/传输中断。

2024-12-20 20:51:40 915

原创 05-字符串

【问】为什么调试窗口的数组数据和打印出来的不一样呢?(String Literal),或者。五、strlen(求字符串的长度)

2024-12-20 20:29:54 362

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除