自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 非阻塞tcp连接示例及getsockopt的作用

这里,select 只能告诉我们 socket 的状态发生了变化,但具体是什么变化,还需要进一步的检查。在非阻塞模式下,当我们调用 connect 函数时(当我们尝试建立连接时),如果连接不能立即建立,connect不会阻塞等待连接完成。level 指定了选项的类型,optname 指定了要检索的选项,optval 是指向保存选项值的缓冲区的指针,而 optlen 是指向缓冲区长度的指针。在 select 的情况下,这意味着我们需要使用其他方法,如 getsockopt,来获取更具体的错误信息或状态确认。

2023-12-02 11:37:12 1272

原创 snprintf_truncated_s

snprintf_truncated_s 函数,是为了在给定的缓冲区大小限制内格式化字符串。与标准的snprintf 函数不同,snprintf_truncated_s 会确保在缓冲区大小限制内输出完整的格式化字符串。而使用 snprintf_truncated_s 函数则可以避免这种情况的发生,保证输出的字符串不会超过给定的缓冲区大小。需要注意的是,snprintf_truncated_s 函数是 C11 标准中引入的函数,因此在使用该函数时需要确保编译器支持 C11 标准。

2023-12-02 10:59:44 786

原创 IIC示例(硬件IIC和软件IIC)

硬件IIC对于软件来说相对简单一点,不用编写复杂的代码,硬件IIC对应芯片上的IIC外设,有相应的IIC驱动电路,其所使用的IIC管脚也是专用的。数据有效性:数据传输过程中,当SCL=1高电平时,数据线SDA必须保持稳定,要么保持高电平,要么保持低电平,这期间不能有电平跳变,只有在时钟线上的信号为低电平时,数据线上的高电平或低电平状态才允许变化。IIC是一个串行,半双工,同步的常用的总线协议,IIC总线有两根双向的信号线一根数据线SDA用于收发数据,一根时钟线SCL用于通信双方时钟的同步。

2023-09-12 17:46:41 1029

原创 Linux下控制GPIO的三种方法

将代码中的X替换为相应的GPIO引脚编号,然后使用libgpiod提供的函数来控制GPIO引脚的方向和值。使用libgpiod库的好处是它提供了更灵活和高效的GPIO操作方式,适用于对性能要求较高的应用。将代码中的gpioX和Y替换为相应的GPIO引脚编号和极性。上述介绍了在Linux系统中控制GPIO引脚的三种常见方法:sysfs接口、GPIO键盘驱动和libgpiod库。根据实际需求和平台支持,可以选择合适的方法来控制和监视GPIO引脚。将代码中的XX替换为相应的GPIO引脚编号,即可进行控制。

2023-09-06 10:00:09 4691 1

空空如也

空空如也

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

TA关注的人

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