C的精进
摘要:一 C的面向对象:结构体与函数指针 二 链表 结构体中有成员单链表,根据单链表进行初始化,增删。 结构体和链表的封装技术。 rt-thread中的工作队列。 三 环形队列缓冲
阅读全文
posted @
2022-07-08 13:33
杰瑞鼠
阅读(55)
推荐(0) 编辑
网络编程学习
摘要:一 阻塞式服务器并发编程中 socket关闭之close()和shutdown()的差异 fork()模式: close()是对于文件操作,关闭读写,shutdown()是对socket来说(对TCP可关闭读,关闭写,或关闭读写),但linux下一切设备皆文件。前者只是将分配的socket_fd减1
阅读全文
posted @
2022-04-16 15:55
杰瑞鼠
阅读(33)
推荐(0) 编辑
c易错点归纳
摘要:一 #define的多分支: #ifdef AAA a=1; #elif BBB a=2; #elif CCC a=3; #else a=4; #endif 二:数值的范围判断: 因为计算机不能识别连续的判断符所以不能写成if(0<a<10),应该写成if(0<a&&a<10) 三字符串处理时数据类
阅读全文
posted @
2021-01-19 09:46
杰瑞鼠
阅读(150)
推荐(0) 编辑
版本号设计
摘要:参考: /** * 比较版本号 GNU版本号示例: 3.5.20.9527 主版本号 次版本号 修正版本号 编译版本号 * * @param v1 第一个版本号 * @param v2 第二个版本号 * * @return 如果版本号相等,返回 0, * 如果第一个版本号低于第二个,返回 -1,否则
阅读全文
posted @
2020-05-27 14:48
杰瑞鼠
阅读(484)
推荐(0) 编辑
温度处理
摘要:int ADValue;//16bit float Temp=0.0 若温度为负则用补码表示:if(ADValue>=4096){ADValue -=1;ADValue ~=ADValue;} temp=tp*0.0625*100+0.5; //留两个小数点就*100,+0.5是四舍五入,因为C语言
阅读全文
posted @
2020-04-29 14:22
杰瑞鼠
阅读(223)
推荐(0) 编辑
LUA学习之语法
摘要:Lua [1] 是一个小巧的脚本语言,是为了通过灵活嵌入应用程序中从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。Lua 有一个同时进行的JIT项目
阅读全文
posted @
2020-04-03 10:01
杰瑞鼠
阅读(479)
推荐(0) 编辑
C语言之链表
摘要:单链表,双链表,循环双链表 选自《C语言整理-双向链表和单项链表那些事》 链表可以为空但不能没有head指针(可作为链表名字),头节点非必须,只是为了增删操作的统一和规范。 单链表的插入只能从后面插入即尾插法。 链表就像一个铁链,每个节点node除了自身数据外,还包括一个指向下一个数据的指针(*ne
阅读全文
posted @
2019-11-20 16:22
杰瑞鼠
阅读(387)
推荐(0) 编辑
MAVLINK协议
摘要:参考https://cloud.tencent.com/developer/news/48344 https://www.cnblogs.com/lovechen/p/5801679.html https://www.cnblogs.com/lovechen/p/5809709.htm https:
阅读全文
posted @
2019-09-16 10:40
杰瑞鼠
阅读(3778)
推荐(0) 编辑
STM32单片机的软件重启和远程重启
摘要:STM32单片机可以通过以下代码实现重启(core_cm3.h)。同时如果利用AT命令进行无线通讯,服务器后台和客户端之间用MODBUS通讯即4G+MODBUS RTU,可以利用F05写单个线圈的方法结合软件重启实现远程MCU重启 if (IO_OUT0) { delay_ms(100); __se
阅读全文
posted @
2019-06-17 14:27
杰瑞鼠
阅读(4251)
推荐(0) 编辑
codeblocks与MINGW的配置
摘要:最好直接下载带GW的Codeblocks,然后配置编译器,调试器,有几个地方要注意: 1 在setting->debugger下要搜到gdb.exe/gdb32.exe 2在debug-active debuggers的设置要与上面的一致 3 在编译器设置下面每个都要看路径是否正确,debug与上面
阅读全文
posted @
2019-05-23 11:25
杰瑞鼠
阅读(3477)
推荐(0) 编辑
关于位带操作的写法问题
摘要:如果将字节按位带拆分是没问题的,如下 1 typedef union 2 { 3 unsigned char byte; 4 struct 5 { 6 unsigned char bit0:1; 7 unsigned char bit1:1; 8 unsigned char bit2:1; 9 un
阅读全文
posted @
2019-05-21 17:44
杰瑞鼠
阅读(363)
推荐(0) 编辑
关于浮点数计算不准的问题
摘要:1 #include <stdio.h> 2 int main() 3 { 4 float x = 1.3; 5 x = x - (int)x; 6 int j = (int)(x*10); 7 int i = (int)(x*10+0.00005); 8 printf("j=%d \n",j);/
阅读全文
posted @
2019-05-17 08:51
杰瑞鼠
阅读(617)
推荐(0) 编辑
外部IC寄存器的位定义
摘要:宏定义法:即常量操作 方法1:用#define来定义,方便省事,缺点:系统不做检查 方法2:用enum来定义,可以像#define一样定义常量,同时系统做检查。既可以定义某个位也可以定义几个位的组合,备注:enum中标识不可以重复,但后面的值可以重复。 /*枚举法定义寄存器,枚举中的值可以重复但名称
阅读全文
posted @
2019-05-10 10:33
杰瑞鼠
阅读(637)
推荐(0) 编辑
AT命令
摘要:命令解析方法类似scanf. 1 没有精度控制,但有宽度控制。 2 空格,TAB键,回车键,非法数据(如对 “%d” 输入 “3H”时,H为非法字符 )即认为该数据结束,如果输入了非法数据,键盘缓 冲区就可能还个有残余信息问题https ://blog.csdn.net/p312011150/art
阅读全文
posted @
2019-04-15 17:38
杰瑞鼠
阅读(550)
推荐(0) 编辑
插值法:
摘要:直线公式: (y-y0)/(x-x0)=(y1-y0)/(x1-x0) 解方程得:y=y0+(x-x0)*(y1-y0)/(x1-x0) 拉格朗日插值法: 对实践中的某个物理量进行观测,在若干个不同的地方得到相应的观测值,拉格朗日插值法可以找到一个多项式,其恰好在各个观测的点取到观测到的值。这样的多
阅读全文
posted @
2018-12-25 14:24
杰瑞鼠
阅读(1661)
推荐(0) 编辑
嵌入式网络笔记
摘要:一小工具:网络调试助手(CM精装版) 3.8.2 绿色免费版; wireshark软件抓取分析工具 Tftpd64-4.62-setup.exe:TFTP的server/client测试的小工具。 winpcap:proteus可以仿真网络应用,但必须有这个插件 二 proteus:可以仿真,之前需
阅读全文
posted @
2018-06-27 11:22
杰瑞鼠
阅读(204)
推荐(0) 编辑