自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

欢迎来到我的博客

总有人间一两风,填我十万八千梦

  • 博客(106)
  • 收藏
  • 关注

原创 【C】---- T8:统计文件里的字符数

设计一个程序,统计在读到文件结尾之前读取的字符数。

2024-09-07 09:58:30 353

原创 【C】---- T7:工作时间计算工资收入

编写一个程序,提示用户输入一周工作的小时数,然后打印工资总额、税金和净收入。做如下假设:a.基本工资 = 1000美元/小时b.加班(超过40小时) = 1.5倍的基本工资c.税率: 前300美元为15%,续150美元为20%,余下的为25%

2024-09-07 09:57:53 414

原创 【C】---- T6:嵌套循环输出字母

使用嵌套循环,按下面的格式打印字母:FFEFEDFEDCFEDCBFEDCBA。

2024-09-07 09:57:21 412

原创 【C】---- T5:天数转换成周数

编写一个程序,提示用户输入天数,然后将其转换成周数和天数。通过while循环让用户重复输入天数,当用户输入一个非正值时(如0或-20),循环结束。

2024-09-07 09:56:48 423

原创 【C】---- T4:计算文件传输速度

编写一个程序,提示用户输入以兆位每秒(Mb/s)为单位的下载速度和以兆字节(MB)为单位的文件大小。程序中应计算文件的下载时间。注意,这里1字节等于8位。使用float类型,并用/作为除号。该程序要打印 3 个变量的值(下载速度、文件大小和下载时间),并且显示小数点后面两位有效数字。

2024-09-07 09:56:12 258

原创 【C】---- T3:年龄转换为秒数

一年大约有3.156×107秒。编写一个程序,提示用户输入年龄,然后显示该年龄对应的秒数。

2024-09-07 09:55:39 303

原创 【C】---- T2:ASCII输入转字符输出

编写一个程序,要求提示输入一个ASCII码值(如,66),然后打印输入的字符。

2024-09-06 22:51:55 154

原创 【C】---- T1:英寸转厘米

需要一个把英寸单位转换为厘米单位(1 英寸=2.54 厘米)的程序。

2024-09-06 22:51:21 314

原创 【C语言】---- sizeof关键字

总之,sizeof 是一个非常有用的函数,它可以让我们方便地获取变量、类型和数组的大小。在 C 语言程序中,正确使用 sizeof 函数可以帮助我们避免许多常见的错误,使我们的代码更加健壮和高效。

2024-09-06 22:46:10 441

原创 【C语言】---- 三目运算符

如果condition为真,则表达式expression1被求值并作为整个表达式的结果;如果condition为假,则表达式expression2被求值并作为整个表达式的结果。三目运算符通常用于简单的条件判断,它可以减少代码的行数,使代码更加紧凑和易读。然而,对于复杂的条件逻辑,建议使用ifelse语句,以提高代码的可读性和可维护性。C语言中的三目运算符是一种简化版的条件语句,它允许您在一行代码中编写ifelse语句。在这个例子中,如果x大于5,则y被赋值为x的两倍;否则,y被赋值为x的一半。

2024-09-06 22:45:40 131

原创 【C语言】---- 文件输入输出与文件管理函数

fopen是 C 标准库中用于打开文件的函数之一。它的原型定义在filenamemodefopen函数返回一个指向FILE结构的指针,该结构用于表示文件流。如果打开文件失败,则返回NULL。打开模式指定了文件的打开方式,包括读取、写入、追加等操作。"r""w""a""r+""w+""a+"此外,还有对应的二进制文件打开模式,如"rb""wb""ab""rb+""wb+""ab+"。以下是一个示例代码,演示了如何使用fopen在这个示例中,我们使用"r"模式打开了一个名为。

2024-09-06 22:45:09 793

原创 【C语言】---- for循环函数

for循环是C语言中一种常用的循环结构,它提供了一种简洁而灵活的方式来实现循环。通过合理地使用for循环,我们可以更有效地编写和管理代码,实现各种循环任务。

2024-09-06 22:44:32 532

原创 【C语言】---- 标准输入输出与字符输入输出

标准输入输出是C语言中最常用的输入输出方式,它使用标准输入流和标准输出流来进行数据的输入和输出。标准输入流通常表示键盘输入,而标准输出流通常表示控制台输出。这些函数可以实现对文本数据的输入和输出,是C语言中最基本的输入输出方式。它们常用于与用户交互、显示程序输出结果等场景。字符输入输出是C语言中用于处理单个字符的输入输出方式,它不涉及格式化的字符串,而是处理单个字符的读取和输出。这些函数通常用于实现简单的字符处理逻辑,如编写字符处理函数、实现简单的控制台交互等。

2024-09-06 22:43:32 767

原创 【C语言】---- return的作用

return是C语言中的一个关键字,用于从函数中返回值。

2024-09-06 22:43:01 212

原创 【C语言】---- extern的使用

extern是一个关键字,用于在C和C++中声明一个变量或函数的外部链接性。当您在一个源文件中使用extern声明一个变量或函数时,它表示该变量或函数是在另一个源文件中定义的,而不是在当前文件中定义的。

2024-09-06 22:42:22 161

原创 【C语言】---- 特殊关键字volatile、const、restrict

这些特殊关键字和限定符在C语言和嵌入式系统的开发中经常用到,能够提高代码的效率、可靠性和可维护性。因此,熟悉并正确地使用它们是编写高质量嵌入式软件的重要一环。在C语言中,特殊关键字和限定符经常用于优化代码、确保数据的一致性以及对硬件进行正确的访问。

2024-09-06 22:41:51 276

原创 【C语言】---- 位操作处理

运算符执行,将操作数的二进制位向右移动指定的位数,左侧空出的位根据原来的最高位填充(如果原来的最高位为0,则左侧补0,如果原来的最高位为1,则左侧补1)。它们通常用于对位表示的数据进行快速、高效的操作。运算符执行,将两个操作数的对应位进行逻辑与操作,结果为1时,结果位为1,否则为0。运算符执行,将两个操作数的对应位进行逻辑或操作,结果为1时,结果位为1,否则为0。运算符执行,将两个操作数的对应位进行逻辑异或操作,相同为0,不同为1。运算符执行,将操作数的二进制位向左移动指定的位数,右侧空出的位补0。

2024-09-06 22:41:17 262

原创 【C语言】---- C语言的预处理指令

C语言的预处理指令是在编译之前由预处理器处理的特殊指令,用于在编译时对源代码进行一些文本替换、条件编译等操作。这些预处理指令在编写C语言程序时非常有用,可以在编译前进行一些代码操作和控制流程。

2024-09-06 22:40:47 360

原创 【C语言】---- 自定义数据类型(typedef)

typedef是C语言的一个关键字,用于为已存在的数据类型定义新的名称。通过typedef,程序员可以为现有的数据类型创建更具有描述性和易读性的名称,从而提高代码的可读性和可维护性。int id;} Employee;在这个示例中,我们为一个结构体定义了一个新的名称Employee,用于表示员工信息。这样,我们可以直接使用Employee作为结构体类型的名称,而不必每次都写出完整的结构体定义。通过本文的介绍,我们了解了typedef在C语言中的重要性和应用。

2024-09-06 22:40:11 416

原创 【C语言】---- 指针数据类型(Pointer)

在C语言中,指针是一个用于存储变量地址的特殊数据类型。指针可以用于直接访问和修改内存中的数据,是实现动态内存分配和高效数据处理的重要工具。指针是C语言中强大而灵活的特性,但也容易导致内存访问错误。因此,在使用指针时要特别小心,确保正确地管理内存和指针的生命周期,以避免潜在的错误。

2024-09-06 22:39:40 352

原创 【C语言】---- 复合数据类型之枚举(Enum)

枚举的定义使用enum关键字,它允许为一组常量分配有序的值。enum Day {上面的代码定义了一个名为DayMONTUEWEDTHUFRISAT和SUN,分别表示星期一到星期日。枚举是C语言中的一种重要数据类型,它允许为一组常量分配有序的值,提高了程序的可读性和可维护性。通过合理地使用枚举,我们可以更好地组织和管理代码,编写出更健壮、高效的程序。

2024-09-06 22:39:02 298

原创 【C语言】---- 复合数据类型之联合体(Union)

联合体的定义使用union关键字,它允许在同一内存位置存储不同类型的数据。int i;float f;char c;上面的代码定义了一个名为Dataif和c,分别表示整数、浮点数和字符。联合体是C语言中的一种特殊数据类型,它允许在同一内存位置存储不同类型的数据,提供了一种灵活的数据存储方式。通过合理地使用联合体,我们可以节省内存空间并实现对不同类型数据的处理。然而,联合体也存在一些潜在的风险,如数据混淆和类型转换的问题,因此在使用时需要谨慎。

2024-09-05 16:20:01 426

原创 【C语言】---- 复合数据类型之结构体(Struct)

结构体的定义使用struct关键字,通常在函数外部定义。int age;上面的代码定义了一个名为Personnameage和height,分别表示人的姓名、年龄和身高。结构体是C语言中非常重要的数据类型,它允许将不同类型的数据组合成一个整体,提高了程序的可读性和可维护性。通过合理地使用结构体,我们可以更好地组织和管理数据,编写出更健壮、高效的代码。

2024-09-05 16:19:02 484

原创 【C语言】---- 复合数据类型之数组(Array)

一维数组和二维数组是计算机编程中常用的数据结构,它们提供了一种方便的方式来存储和处理多个相同类型的数据。通过合理的使用数组,我们可以更高效地实现各种算法和数据结构,从而更好地解决问题。

2024-09-05 16:18:26 287

原创 【C语言】---- 基本数据类型(char、int、float)

C语言中的基本数据类型包括整型、浮点型和字符型,每种类型都有不同的存储大小和表示范围。

2024-09-05 16:17:48 387

原创 Git的基本使用(持续更新)

将当前文件夹作为Git仓库,并在该文件夹中生成一个.git目录,该目录包含了资源的所有元数据,不可修改里面的内容。:新建一个newWareHouse文件夹作为Git仓库,并在newWareHouse文件中新建一个.git目录。

2024-09-05 01:17:28 476

转载 关于keil中勾选微库“Use MicroLIB“调试printf时编译报错问题

勾选Use Microlib报错,解决编译出现Undefined symbol __use_two_region_memory 和Undefined symbol __initial_sp的问题。

2024-09-05 01:14:21 76

原创 【GD32】---- 使用GD32调试串口并实现printf打印输出

直接复制里的系统文件和固件库文件到新的工程文件。

2024-09-05 01:11:10 644

原创 【GD32】---- 移植工程模板及点灯测试

新建一个名叫的文件夹,用于建造工程模板。

2024-09-05 01:06:43 358

原创 电路分析 ---- 电平移位电路

如图所示的电平移位电路,用于ADC的前级驱动,它将一个变化范围为-10V ~ +10V的输入信号,线性变化成0.048V ~ 4.048V的信号,以满足ADC的输入范围要求。

2024-09-05 01:00:35 570

原创 电路基础 ---- 旁路电容与去耦电容的区别

作用范围:旁路电容主要用于过滤高频噪声,确保电源干净;而去耦电容则用于隔离电路部分之间的干扰,提供瞬时电流支持。位置和功能:旁路电容通常直接连接在电源和地之间,用于高频噪声旁路;而去耦电容则放在靠近具体元件或子电路处,用于防止电源线上的电压波动对其它电路部分的影响。虽然两者在实际应用中常常结合使用,但它们的设计意图和实际作用有所不同。

2024-09-05 00:59:44 563

原创 电路分析 ---- 减法器

减法器又称作差分比例运算电路上述电路是基于加减运算电路根据叠加原理运算得到的一种特例,该电路的输入输出关系为uO​RA​RB​​u2​−u1​针对第一个问题,可以通过采用两级差分比例运算电路解决针对第三个问题,可以通过集成差动放大器解决。

2024-09-05 00:58:05 1015

原创 电路分析 ---- 加法器

1 同相加法器分析过程虚短:u+=u−=RGRG+RFuOu_{+}=u_{-}=\cfrac{R_{G}}{R_{G}+R_{F}}u_{O}u+​=u−​=RG​+RF​RG​​uO​i1=uI1−u+R1i_{1}=\cfrac{u_{I1}-u_{+}}{R_{1}}i1​=R1​uI1​−u+​​;i2=uI2−u+R2i_{2}=\cfrac{u_{I2}-u_{+}}{R_{2}}i2​=R2​uI2​−u+​​;i3=uI3−u+R3i_{3}=\cfrac{u_{I3}-u_{+

2024-09-05 00:57:01 1025

原创 【嵌入式学习笔记】---- STM32里的DMA

DMA技术是一种无需CPU干预而能够直接访问系统内存的数据传输技术。通过DMA,外设可以直接将数据传输到内存中,或者从内存中读取数据,而无需CPU的介入,从而提高了系统的效率和性能。DMA技术是STM32系列微控制器中的重要功能之一,为系统设计者提供了强大的数据传输支持。通过合理地配置DMA控制器,可以实现高效、稳定的数据传输,为嵌入式系统的性能提升和功耗优化提供了关键支持。

2024-09-04 11:31:35 409

原创 【嵌入式学习笔记】---- OLED屏幕工作原理

相比于四线SPI,三线SPI的D/C#始终接低电平,依赖于SDIN先发送一个字节,从而判定接收内容是数据还是命令。

2024-09-04 11:30:54 875

原创 【嵌入式学习笔记】---- IIC通信

IIC:Inter Integreated Circuit,集成电路总线,是一种同步串行半双工通信总线。

2024-09-04 11:29:58 496

原创 【嵌入式学习笔记】---- 基于SysTick定时器实现微秒延时

【代码】【嵌入式学习笔记】---- 基于SysTick定时器实现微秒延时。

2024-09-04 11:29:07 393

原创 【嵌入式学习笔记】---- 定时器

定时器可以用于生成特定时间间隔的定时中断或触发其他操作。其原理是通过配置定时器的预分频系数和比较寄存器的值来确定定时的时间周期。当定时器的计数器达到或超过比较寄存器的值时,定时器会触发定时中断或执行其他操作。

2024-09-04 11:27:46 1019

原创 【嵌入式学习笔记】---- MCO时钟

MCO时钟输出功能允许将STM32微控制器内部的时钟信号输出到指定的引脚上。通过配置MCO时钟输出功能,可以将系统时钟、外部时钟或者内部RC振荡器的时钟信号输出到外部,供外部设备使用。MCO时钟输出功能是STM32系列微控制器中的重要功能之一,为系统设计者提供了强大的时钟信号输出支持。通过合理地配置MCO时钟输出功能,可以实现对时钟信号的灵活控制,为系统的时钟应用提供了新的可能性。

2024-09-04 11:26:23 217

原创 【嵌入式学习笔记】---- 时钟源&时钟树 RCC

在芯片内部,布满了各种逻辑电路,通过数字信号进行通信:当A、B均输入1时,与门输出1,异或门输出0,故此时寄存器的值为0:当A输入1,B输入0时,与门输出0,异或门输出0,此时寄存器的值为0:受到逻辑门内部电路的影响,上述两种状态并不能瞬间完成,即存在过渡状态正因为这种因逻辑电路运算延时而产生的错误状态)的存在,极易对数字电路产生巨大影响:加入边沿触发器边沿触发器通过上升沿控制导通,通过调整合适的方波周期,使逻辑电路在一个周期完成相应的逻辑运算,规避过渡状态,避免信号混乱。

2024-09-04 11:25:25 1266

STM32-Selection-Guide

STM32-Selection-Guide

2023-07-16

STM32G0B1RE开发资源包+Keil5芯片支持包

资源包括芯片支持包Pack,芯片手册,数据手册,开发手册以及NUCLEO-G0B1RE开发板原理图和开发板手册

2022-10-23

空空如也

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

TA关注的人

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