- 博客(14)
- 收藏
- 关注
原创 Python的浮点数
Python中的浮点数(float)是基于IEEE 754标准的双精度浮点数,它们以二进制形式存储,因此不能精确地表示所有的十进制小数。相比于Python内置的浮点数(float),Decimal类型可以精确表示小数,避免了由于二进制浮点数表示导致的精度问题。注意,使用Decimal时,应该尽量以字符串的形式初始化,以避免在创建Decimal对象时就已经引入精度问题。1.精确的小数运算:Decimal类型可以精确表示小数,避免了二进制浮点数的不精确性。prec:精度,即小数点后的位数。
2025-04-14 19:31:51
261
原创 STM32——GPIO的模式
输出模式可以是推挽输出(Push-Pull)或开漏输出(Open-Drain)。功能:引脚被配置为模拟输入,用于采集连续变化的电压信号。功能:引脚被配置为推挽输出,可以直接输出高电平或低电平。可以配置为上拉输入(内部上拉电阻使引脚默认为高电平)。可以配置为下拉输入(内部下拉电阻使引脚默认为低电平)。功能:引脚被配置为中断输入,用于检测外部信号的变化。功能:引脚被配置为备用功能,用于实现特定的外设功能。功能:引脚被配置为数字输入,用于读取高低电平。功能:引脚被配置为数字输出,用于输出高低电平。
2025-03-15 12:34:16
690
原创 STM32——GPIO的简介
这些引脚可以根据用户的需求配置为不同的模式,用于实现各种功能,如数字输入、数字输出、模拟输入等。总之,GPIO是STM32单片机中非常灵活且重要的外设,通过合理配置和使用GPIO,可以实现多种功能,满足嵌入式系统开发中的各种需求。寄存器编程:通过直接操作GPIO相关的寄存器(如GPIOx_MODER、GPIOx_OTYPER、GPIOx_PUPDR等)来配置GPIO的模式、输出类型、上下拉电阻等参数。中断触发:通过GPIO引脚的中断功能,可以实现外部中断触发,提高系统的响应速度。
2025-03-13 16:16:55
483
原创 C语言中的循环语句
• 使用 break 和 continue 可以灵活控制循环的执行流程。• while 循环适用于条件未知,但需要在满足条件时重复执行的情况。• continue 语句:用于跳过当前迭代,直接进入下一次循环。• do-while 循环适用于至少需要执行一次循环体的情况。• for 循环适用于循环次数已知或可以通过变量控制的情况。• break 语句:用于立即退出当前循环。选择合适的循环语句取决于具体的需求和场景。do while循环。
2025-03-10 18:14:32
158
原创 什么是函数?为什么要使用函数?声明和定义函数的区别
4. 函数声明与函数定义的区别• 函数声明:告诉编译器函数的接口(名称、返回类型、参数列表),但不包含函数的具体实现。• 函数定义:包含函数的具体实现,即函数体。• 头文件中( .h 文件):如果函数需要在多个源文件中使用,通常将函数声明放在头文件中,然后在其他源文件中包含该头文件。• 声明和定义的函数名必须一致:函数名是唯一的标识符,声明和定义的函数名必须完全相同。• 源文件顶部:如果函数仅在当前源文件中使用,可以直接在源文件的顶部声明。• 参数类型必须匹配:声明和定义的参数类型和顺序必须一致。
2025-03-07 17:36:59
254
原创 如何创建一个变量
注意事项1. 变量类型必须明确:C语言是强类型语言,变量必须先声明类型,才能使用。3. 变量赋值:变量声明后,必须赋值才能使用,否则可能会导致未定义行为。在C语言中,创建变量需要指定变量的类型和名称。以下是创建变量的基本步骤和示例:1. 选择变量类型C语言提供了多种基本数据类型,例如:• int :用于存储整数。5. 变量的作用域变量的作用域决定了变量在程序中的可见范围:• 全局变量:在函数外部声明,作用域为整个程序。4. 初始化变量在声明变量时,可以直接给变量赋初值,这称为初始化。
2025-03-06 16:56:36
347
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人