摘要: (一)、uart / usart 要注意的 API使用方法。 1.__HAL_UART_GET_FLAG 是获取 SR 寄存器标志位状态 2.__HAL_UART_CLEAR_FLAG 是清除 SR 寄存器标志位状态,不同于读改写的清零方式,这是直接清零。 3.__HAL_UART_CLEAR_xx 阅读全文
posted @ 2018-01-19 11:09 zhanghonglang 阅读(11224) 评论(0) 推荐(0)
摘要: AT+CPAS;+CSQ;+CREG?;+COPS?;+CIND?;+CMEE=2;E1;+CPIN?; 阅读全文
posted @ 2017-12-01 11:58 zhanghonglang 阅读(215) 评论(0) 推荐(0)
摘要: 为什么如下的代码 int a = 100, b = 100; long int c = a * b; 不能工作?根据 C 的内部类型转换规则, 乘法是用 int 进行的, 而其结果可能在转换为long 型并赋给左边的 c 之前溢出或被截短。 可以使用明确的类型转换, 强迫乘法以 long 型进行:l 阅读全文
posted @ 2017-11-23 11:52 zhanghonglang 阅读(118) 评论(0) 推荐(0)
摘要: 参考文章:http://blog.csdn.net/zzqllh/article/details/50318129 硬件流控的引脚含义和接线很混乱,看了很多文章一头雾水,先总结一下我的理解,如果有不对的地方将随时修改。 简单下说下我自己的理解: 1. RTS,CTS交叉连接 2. RTS:上电默认是 阅读全文
posted @ 2017-11-22 12:00 zhanghonglang 阅读(1654) 评论(0) 推荐(0)
摘要: 1、建立连接协议(三次握手) (1)报文1,客户端发送一个带SYN标志的TCP报文到服务器。 (2)报文2,服务器端回应客户端,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。 (3)报文3,客户端必须再次回应 阅读全文
posted @ 2017-11-13 09:30 zhanghonglang 阅读(221) 评论(0) 推荐(0)
摘要: 参考:必须弄懂的495个c语言问题 先给结论 : 使用自增, 自减和赋值操作符对同一对象修改两次或修改以后又被引用的的任何组合都可能会出问题。使用自增自减的时候最好单独一个表达式,因为不同的编译器实现方式可能不一样。 K&R 明智地指出, “如果你不知道它们在不同的机器上如何实现, 这样的无知可能恰 阅读全文
posted @ 2017-11-10 15:21 zhanghonglang 阅读(180) 评论(0) 推荐(0)
摘要: 1.客户端发送Client Hello报文开始SSL通讯。报文包含客户端支持的SSL的指定版本,加密组件(Cipher Suite)列表(所使用的加密算法及密钥长度)。 2.服务器可以进行SSL通讯时,会以Server Hello报文作为应答。和客户端一样,在报文中包含SSL版本以及加密组件。服务器 阅读全文
posted @ 2017-10-27 17:20 zhanghonglang 阅读(7815) 评论(0) 推荐(0)
摘要: TCP最大的特征是流量控制。接收端只接受它可以缓存的有限长度的数据。另外,发送端通过慢启动和拥塞避免算法调整传送速率,以适应网络容量和负载[4]。 TCP采用拥塞窗口和供给窗口实现流量控制。拥塞窗口由慢启动和拥塞避免算法控制;而供给窗口长度由接收机的缓冲器长度决定,接收机在每次传输的间隔向服务器汇报 阅读全文
posted @ 2017-09-28 11:50 zhanghonglang 阅读(486) 评论(0) 推荐(0)
摘要: C库中有两个函数可以从一个位置把字节复制到另一个位置。在C99标准下,它们的原型如下: void * memcpy(void * restrict s1, const void * restrict s2, size_t n); void * memmove(void * s1, const voi 阅读全文
posted @ 2017-09-27 10:30 zhanghonglang 阅读(218) 评论(0) 推荐(0)
摘要: 用memcpy来避免for循环转存数据 阅读全文
posted @ 2017-09-14 16:51 zhanghonglang 阅读(242) 评论(0) 推荐(0)