
嵌入式
一缕阳光把梦想照亮
这个作者很懒,什么都没留下…
展开
-
STM32 用RS485进行半双工通信出现的问题
最近接了一个项目,需要用到RS485总线同时和多台机器通信,方式是半双工,但是当向总线一次发送大量数据的时候,STM32就会像出现死机一样,经过调试发现串口在既不是接收数据中断,也不是发送数据中断的情况下不断进入串口中断,当时瞬间怀疑的是:串口产生了什么错误导致一直进入中断。经过调试和查找资料得出如下解决办法: 在串口中断中添加如下语句: i...原创 2017-03-16 18:45:25 · 5405 阅读 · 0 评论 -
linux gdb attach在线调试
进入调试:ps命令查看进程id。 执行gdb attach pid即可调试正在运行的程序。 info proc显示当前程序可执行文件相关信息(name,pwd)断点相关:b pkt.c:22(在pkt.c文件的22行打断点) b eth_rcv (在函数eth_rcv入口打断点) info b;显示当前所有断点; d num;删除断点num; n num;向后执行num步b...转载 2019-01-24 09:22:06 · 3467 阅读 · 0 评论 -
linux下使用gdb调试崩溃丶死锁实例
gdb是linux下一款功能强大的调试工具,windows下对应的有windbg,下面举例说明常见程序错误解决方法1.gdb启动要想使用gdb调试,编译时指定-g选项加入调试信息,gdb可以启动执行文件,attach正在运行程序,调试程序崩溃产生core文件启动gdb后输入run运行,continue继续,quiet退出,下面是调试一段崩溃和死锁的源码#include <p...转载 2019-01-24 09:14:36 · 1663 阅读 · 0 评论 -
shell中的pushd与popd
其实,很早就知道pushd和popd在linux中可以用来方便地在多个目录之间切换。那时比较浮躁,感觉切换目录没必要这么复杂。在实际中,发现通过使用pushd和popd能够极大地提高效率。 0、使用cd -进行目录切换 一般,Shell中都可以通过cd -命令回到之前的目录,下面是一个例子: $ pwd /home/lfqy $ cd / $ cd - /home/lfqy...转载 2018-12-24 15:56:17 · 1186 阅读 · 0 评论 -
linux开发调试
Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。 dmesg命令用于显示开机信息。kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里。...原创 2018-09-30 10:37:15 · 234 阅读 · 0 评论 -
linux下close无法关闭socket
由于close之后阻塞的recv出现不能立即返回关闭,socket进入被动一方。这种情况多数是创建和关闭处于不同的线程。解决办法在调用close函数之前先调用shutdown(socket, SHUT_RDWR)函数。...原创 2018-09-29 14:19:34 · 5425 阅读 · 0 评论 -
开机自动执行脚本无法运行程序
linux把需要运行的程序写成一个脚本,开机完成后使用sh执行脚本可以把程序运行起来。但是设置开机自动执行脚本文件,却无法把程序运行起来。解决方法:在脚本文件运行程序语句之前加入: source /etc/profile...原创 2018-09-13 14:52:07 · 1765 阅读 · 0 评论 -
linux系统的开发板无法ping通127.0.0.1
解决办法,执行命令:ifconfig lo 127.0.0.1 up原创 2018-07-23 09:39:05 · 1247 阅读 · 0 评论 -
qt工程出现Makefile文件的内容有误
例如这种:解决办法:点击构建->执行qmake,重新生成Makefile即可。原创 2018-07-06 15:30:22 · 3127 阅读 · 0 评论 -
C语言中两个整数转换成float型的小数
void main(void){int i=23,j=65;char a[5];float b;sprintf(a,"%d.%d",i,j);//拼接成字符串sscanf(a,"%f",&b);//转换成数字 字符转数字函数printf("%.2f\n",b);}原创 2017-09-19 10:33:55 · 10700 阅读 · 0 评论 -
linux多线程之读写锁---rwlock
一:概述 使用场景对数据结构读的次数远大于写的情况。状态 (1)读模式下加锁状态 (读锁) (2) 写模式下加锁状态 (写锁) (3) 不加锁状态 遵循规则 (1)读写锁是"写模式加锁"时, 解锁前,所有对该锁加锁的线程都会被阻塞。 (2)读写锁是"读模式加锁"时, 如果线程以读模式对其加锁会成功;如果线程以写模式加锁会阻塞。...原创 2019-01-25 14:14:18 · 908 阅读 · 0 评论