精诚所至

不以恶小而为之

QT中sqlite的基本操作

前言 SQLite(sql)是一款开源轻量级的数据库软件,不需要server,可以集成在其他软件中,非常适合嵌入式系统。 Qt5以上版本可以直接使用SQLite(Qt自带驱动)。 用法 1 准备 引入SQL模块 在Qt项目文件(.pro文件)中,加入SQL模块: QT += sql ...

2019-06-13 10:06:14

阅读数 5

评论数 0

最新解决安装Ubuntu18后没有共享文件hgfs问题

         常用方法: 一般的网络上出现较多的方法都是这一种,执行类似vmhgfs-fuse .host:/ /mnt/hgfs解决的,或者相似命令解决的,然后再把这个命令写入到启动脚本,那么每次开机后就有这个共享目录了。但是:但是请注意这个不是适合所有安装者,因为这个关系到你有没有成功...

2018-10-24 10:38:43

阅读数 1155

评论数 0

offsetof与container_of宏解析

1、前言   今天在看代码时,遇到offsetof和container_of两个宏,觉得很有意思,功能很强大。offsetof是用来判断结构体中成员的偏移位置,container_of宏用来根据成员的地址来获取结构体的地址。两个宏设计的很巧妙,值得学习。linux内核中有着两个宏的定义,并在链表...

2018-10-10 14:55:57

阅读数 27

评论数 0

在Linux下写一个简单的驱动程序

  本文首先描述了一个可以实际测试运行的驱动实例,然后由此去讨论Linux下驱动模板的要素,以及Linux上应用程序到驱动的执行过程。相信这样由浅入深、由具体实例到抽象理论的描述更容易初学者入手Linux驱动的大门。 一、一个简单的驱动程序实例 驱动文件hello.c #include &...

2018-10-09 10:09:13

阅读数 91

评论数 0

嵌入式Linux设备驱动开发——selec/poll

应用程序调用select,select系统调用的原型: int select(int nfds, fd_set *readfds, fd_set *writefds,fd_set *exceptfds, struct timeval *timeout); fd_set数据结构来表示要监听的设备...

2018-09-17 11:38:47

阅读数 54

评论数 0

通俗易懂:mmap与硬件寄存器的关系

分析应用程序获取按键操作的流程 分析应用程序控制LED灯的操作流程   按键:按键操作,触发中断,读取硬件寄存器,获取按键状态,唤醒休眠的进程,read操作调用copy_to_user将内核的缓冲区数据拷贝到用户缓冲区 总结:第一次拷贝:从硬件寄存器读数读到内核缓冲区       第二次...

2018-09-17 11:33:48

阅读数 248

评论数 0

MQTT协议初探

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽...

2018-08-24 10:30:26

阅读数 45

评论数 0

tty初探—uart驱动框架分析

目录 主要参考 1、下层(串口驱动层) 2、上层(tty 核心层) 3、调用关系分析   3.1 tty_open   3.2 tty_write   3.3 tty_read 本文转载自(借鉴别人分析,便于阅读格式稍加修改):https://blog.csdn.net/lizuo...

2018-08-17 17:15:55

阅读数 42

评论数 0

linux驱动insmod、rmmod错误解决:no such file or directory

insmod错误 当我们用insmod 加载驱动,然后在应用程中调用open 驱动文件,有时候会出现这个错误:cannot open ***:no such file or directory. 出现这个问题的原因很简单。你执行ls /dev命令看下在设备文件下面是否有你要打开的设备文件名(比...

2018-08-16 22:49:22

阅读数 750

评论数 0

深度分析mmap:是什么 为什么 怎么用 性能总结

目录 mmap基础概念 mmap内存映射原理 mmap和常规文件操作的区别 mmap优点总结 mmap相关函数 mmap使用细节 性能总结 mmap基础概念 mmap是一种内存映射文件的方法,即将一个文件或者其它对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中一段虚...

2018-08-16 11:16:19

阅读数 4975

评论数 1

gettimeofday()函数用法、特点

针对C语言来说,函数gettimeofday()用来来得到从1970年1月1日0时0分0秒到现在的秒数,其精度达到微妙(1e-6s); #include <sys/time.h> int gettimeofday(struct timeval*tv,...

2018-08-15 19:28:26

阅读数 746

评论数 0

STM32 移植FreeModbus 详细过程

一 整体代码 下面给出一个STM32平台上使用FREEMODBUS最简单的例子,操作保持寄存器,此时操作指令可以为03,06和16; #include "stm32f10x.h" #include  #include "mb.h&q...

2018-08-15 19:27:41

阅读数 248

评论数 0

Linux 下操作gpio(两种方法,驱动和mmap)

目前我所知道的在linux下操作GPIO有两种方法:  1.  编写驱动,这当然要熟悉linux下驱动的编写方法和技巧,在驱动里可以使用ioremap函数获得GPIO物理基地址指针,然后使用这个指针根据ioctl命令进行GPIO寄存器的读写,并把结果回送到应用层。这里提供一点程序片断供大家参考: ...

2018-08-15 19:26:42

阅读数 330

评论数 0

Select、poll、epoll之间的区别总结[整理]

  select,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负责进行读写,也...

2018-08-13 17:55:25

阅读数 108

评论数 0

IO多路复用之select总结

1、基本概念   IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合:   (1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。   (2)当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。...

2018-08-13 17:53:38

阅读数 30

评论数 0

module_init的内核调用顺序(转)

现在以module_init为例分析initcall在内核中的调用顺序 在头文件init.h中,有如下定义: #define module_init(x)     __initcall(x); #define __initcall(fn) device_initcall(fn) 继续看: ...

2018-08-13 15:55:51

阅读数 139

评论数 0

Linux内核的整体架构(转)

1. 前言 本文是“Linux内核分析”系列文章的第一篇,会以内核的核心功能为出发点,描述Linux内核的整体架构,以及架构之下主要的软件子系统。之后,会介绍Linux内核源文件的目录结构,并和各个软件子系统对应。 注:本文和其它的“Linux内核分析”文章都基于如下约定: a) 内核版本为...

2018-08-13 15:54:57

阅读数 114

评论数 0

iptables nat及端口映射

iptables 应用初探(nat+三层访问控制)iptables 是一个Linux 下优秀的nat +防火墙工具,我使用该工具以较低配置的传统pc 配置了一个灵活强劲的防火墙+nat系统, 小有心得,看了网上也有很多这方面的文章,但是似乎要么说的比较少,要么就是比较偏,内容不全,容易误导,我研究...

2018-02-27 11:32:42

阅读数 515

评论数 0

串口编程--RS485

最近被安排实现 linux rs485 串口通信。期间遇到各种问题,现在加以分析总结。 一、硬件相关  1.1 单工、半双工、全双工 首先,我使用的是芯片为 SP3485E 为半双工通信。那么先要明确什么是单工、半双工、全双工。 单工数据传输只支持数据在一个方向上传输; 半双...

2018-01-19 16:16:08

阅读数 5578

评论数 0

stty用法大全

UNIX系统的命令很多,但是巧妙使用命令的方法更多。随着经验的积累和观察学习其他用户的实践,我们也可学会解决特殊问题的方法。这里谈谈自己使用UNIX系统中stty命令的一些体会,希望能与你共享。  1.stty(set tty,设置tty)命令用于检查和修改当前注册的终端的通信参数。UN...

2017-11-23 17:01:56

阅读数 555

评论数 0

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