SPI通讯协议简介SPI(Serial Peripheral Interface)是串行外设接口的缩写,SPI是一种高速的,全双工,同步的串行通信总线;SPI采用主从方式工作,一般有一个主设备和一个或多个从设备;SPI需要至少4根线,...
IIC通讯协议
IIC通讯协议简介IIC总线是一种串行,半双工总线。主要用于近距离,低速的芯片之间的通信;IIC总线有两根双向的信号线,一根数据线SDA用于收发数据,一根时钟线SCL用于通信双方时钟的同步;IIC总线硬件结构简单,成本较低,因此应用广...
RS232/485通讯协议
RS232/RS485与其说是一种协议,不如说是一种标准。RS232/RS485是基于UART通信协议产生的概念。但是UART通信协议只是规定了数据应该怎么发,什么时候发,没有规定具体的标准。比如高电平位1,低电平...
UART通讯协议
简介UART,即Universal Asynchronous Receiver Transmitter,是通用异步收发器,是一种通用的串行,异步通信总线。该总线有两条数据线,可以实现全双工的发送和接收。在嵌入式系统中常用于主机和辅助设...
子线程detach后的表现
关于detach的线程讨论C++标准库中的线程需要经过两中处理,join或者detach操作,来管理线程的生命周期。其中,detach的线程可以脱离主线程运行,但是在实际操作的时候有些出入。现在查资料并在实际操作下记录运行情况。 主线...
异步编程
C++异步编程std::future和std::std::async方式一,使用C++实现异步编程的方法之一是通过std::future和std::std::async的配合: 12345678910111213int async_t...
Qt同一信号与槽重复连接问题
Qt同一信号与槽函数重复连接都知道在QT中一个信号可以与多个槽函数连接,一个槽函数也可以与多个信号连接。那么,如果一个信号与一个槽函数多次连接然后发送信号会发生什么呢?编译失败?运行时出现异常?只运行一次槽函数还是会多次运行呢? 看以...
使用RapidJson解析Json数据
基于RapidJson解析Json数据RapidJson简介RapidJson是腾讯开源的一个C++的JSON解析器及生成器,它的灵感来自RapidXml。RapidJson性能快且独立,不依赖外部库甚至不依赖STL。它是跨平台的,可...
Qt自定义消息处理函数
Qt支持自定义消息处理函数。通过qInstallMessageHandler方法可以安装自定义消息处理函数。该方法的返回值是一个指向之前消息处理函数的指针。Qt 库(调试模式)包含数百条警告信息,当出现内部错误(通常是函数参数无效)时...
条款04:确定对象被使用前已被初始化
为什么要确保对象在使用前已经被初始化?因为在对于“将对象初始化”这件事上,C++似乎反复无常。比如 1int x; 在某些预警下x被初始化(为0),但在其它语境中却不保证。比如: 12345class Point{ ...