自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (4)
  • 收藏
  • 关注

转载 QT开发环境搭建qt-4.8.6详细教程

简介Qt是跨平台的图形开发库,目前由Digia全资子公司 Qt Company 独立运营,官方网址:http://www.qt.io/也可以访问Qt项目域名:http://qt-project.org/Qt本身支持众多操作系统。从通用操作系统Linux、Windows,到手机系统Android、iOS、WinPhone,嵌入式系统支持QNX、VxWorks,应用非常广泛。基于Qt...

2020-04-01 10:34:14 2715

转载 GSM模块_PDU中文格式发送短信息

本文以一个实例来解说AT指令发送PDU短信的全过程,假如我要发送下面的短信:接收号码:+8613602433649短信内容:工作愉快!杭州短信中心号码:联通:+8613010360500移动:+8613800571500一、短信中心号码处理:用字符串 addr 表示1、将短信息中心号码去掉+号,看看长度是否为偶数,如果不是,最后添加F即 addr = "+...

2019-11-12 09:46:38 1393

原创 gpio模拟uart总线驱动

在有众多的uart232,485以及422通信需求类的产品中,时常会出现主控板uart接口不够用的情况,而有些外设由于其特殊性,又必须单独占有一路uart的时候,我们能够做的就是使用众多的gpio去模拟uart进行数据通信。linux下的uart模拟需要完成和涉及到一下几方面的内容:1、gpio的选择和初始化2、高精度内核定时器提供标准的波特率对应的时序控制。3、接收引脚的中...

2019-10-12 13:37:56 2851 3

原创 linux 内核定时器(高精度)

在实际的项目实践中,驱动的实现过程中要求我们实现较高的精度,比如Linux内核使用gpio模拟实现串口驱动,在这种驱动的实现过程中,由于没有时钟线,所以在TTL电平的模拟中他的时钟沿的变化的时间精度要求还是比较高的。此时,我们就必须使用高精度的内核定时器hrtimer来实现。在使用高精度的内核定时器之前,我们必须首先在Linux内核配置选项中进行相关的配置,以确认自己所使用的Linux内核支持...

2019-04-26 22:02:14 2096

原创 Linux内核定时器(低精度)

在Linux内核中我们时常需要完成一些周期性的任务,此时我们首先想到了定时器,在普通的单片机中,芯片原厂提供了一些通用的API函数用于实现该类型的任务,同样的,在基于Linux内核的操作系统中,同样的而又这么一组函数,可以实现同样的操作。首先是低精度的的定时器,在Linux2.6.4之前的版本上没有高精度定时器的情况下,低精度的定时器就成了首选,但是这种低精度的定时器他有个缺点,他的最高精度只...

2019-04-26 21:28:58 1386

原创 linux下的键盘控制芯片CH455驱动io模拟IIC(基于AM335x)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:liufei191010@126.com】由于项目需要一款小的3*2的矩阵键盘,所以选用一款数码管驱动及键盘控制芯片 CH455 ,该芯片其实实际能支持到最大7*8的矩阵键盘以及4个数码管,在这里我们只是用到了他的键盘驱动功能,该芯片的使用框架图如下:在项目实际应用中,芯片的实际电路设计原理如下:在驱动软件的设计上...

2019-04-15 15:55:19 2126

原创 linux下的oled驱动gpio模拟spi(基于AM335X)

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:liufei191010@126.com】 使用的OLED型号为:HGS256642它的应用电路如下属于四线SPI通信方式,但是它的MISO端口没有被接出来,所以spi的读取是不用实现的,但是又多出来一条线(RS),这个端口的作用是为OLED进行写命令或者写数据的控制。时序如下所示:spi控制时序如下:...

2019-01-18 09:32:07 2573 2

转载 linux 下编辑 rc.local 设置开机启动

设置开机启动示例:# touch /etc/init.d/rc.local设置为可执行:# chmod +x /etc/init.d/rc.local用 update-rc.d 设置启动级别:# update-rc.d rc.local start 99 2 3 4 5 . stop 99 0 1 6 .为了编辑方便,创建一个链接:# ln -s /etc/init.d/rc.loc...

2019-01-17 16:06:59 11103

转载 Linux TI omap芯片 pinmux分析(以AM335X为例)

转自 http://blog.chinaunix.net/uid-20543672-id-3067021.html 在移植内核的时候经常会遇到管脚复用(mux)的配置问题。在现在的linux内核中,TI的ARM芯片已经有比较通用的架构,这对于很多TI芯片都是通用的,这次以AM335X为例分析,以备后用。 1.硬件    对于许多TI的芯片来说,引脚复用的配置是在,Control...

2019-01-11 15:02:57 3002

原创 AM335X Linux3.2 内核设备树驱动与应用中对GPIO的操作

如果是在已经适配好的linux内核上,那么相信已经有了完成的gpiochip,可以在用户空间/sys/class/gpio目录下看到,如:exportgpiochip0/gpiochip32/gpiochip64/gpiochip96/unexport然后对照手册看下需要用到哪个GPIO,举个例子:如果使想用GPIO1_20那么GPIO Number就是 1 x 32 + 2...

2019-01-11 14:45:13 1785

转载 linux 内核网络调优参数说明

所有的TCP/IP调优参数都位于/proc/sys/net/目录。例如, 下面是最重要的一些调优参数,后面是它们的含义:1、/proc/sys/net/core/rmem_max — 最大的TCP数据接收缓冲2、/proc/sys/net/core/wmem_max — 最大的TCP数据发送缓冲3、/proc/sys/net/ipv4/tcp_timestamps — 时间戳在(请参考RFC...

2018-09-19 09:31:59 1324

转载 Linux系统中sysctl命令详解

sysctl命令用于运行时配置内核参数,这些参数位于/proc/sys目录下。sysctl配置与显示在/proc/sys目录中的内核参数.可以用sysctl来设置或重新设置联网功能,如IP转发、IP碎片去除以及源路由检查等。用户只需要编辑/etc/sysctl.conf文件,即可手工或自动执行由sysctl控制的功能。    命令格式:    sysctl [-n] [-e] -w var...

2018-09-19 09:20:37 2538

原创 STM32F103做从机SPI通信SPI3中断异常

在做AM335D板子与STM32F103使用SPI通信时,需要用到STM32的从机模式,所以特别对于ST的从机模式进行了研究,由于硬件上使用的是STM32F103的SPI3,所以过程中遇到了一点麻烦,这里记录一下过程,以备查阅:使用SPI3通信时,从机时钟产生不了中断,经过查阅资料,是因为spi3的nss口与JTAG有共用引脚,所以配置错误会导致SPI3无法使用。需要注意以下两点就可以了:1...

2018-09-05 18:17:38 6450

原创 SMI的时序模拟实现以及控制(二)

接上篇,在STM32上调试完成的SMI驱动模拟代码实现奉上,供交流学习,代码如下:#include <stdio.h>#include "sys.h"#include "delay.h"#include "mdio.h"#define delay_su 1 #define MDIO PCout(3) // SDA #define MDC PCout(...

2018-08-21 14:57:38 4456 4

原创 SMI的时序模拟实现以及控制(一)

在有些简单的单片机上做网络通信的产品时,可能遇到单片机+网络芯片/switch芯片的情况,比如STM32+RTL8306。此时我们就需要在STM32上模拟SMI总线协议,去控制RTL8306 switch芯片实现具体的功能。首先是对于SMI的定义:SMI:串行管理接口(Serial Management Interface),也被称作MII管理接口(MII Management Inter...

2018-08-13 18:17:21 6985

原创 使用STM32CubeMX工具快捷生成ST外设源码

我们在进行ST开发的时候,时常需要敏捷开发方式下先验证某些外设的驱动功能,那么对于不太熟悉ST标准外设库,但是还需要快捷的进行驱动程序的开发的小伙伴来说这种神奇的工具的出现便成了我们的福音 ,这就是ST官方提供的 STM32CubeMX, 会使得你的驱动开发更加快捷和简单。STM32Cube 是一个全面的软件平台,包括了ST产品的每个系列。(如,STM32CubeF4 是针对STM32F4系列...

2018-08-03 09:23:56 994

原创 linux编程获取命令行(shell)执行结果的函数

在实际编程过程中我们时常会遇到需要在C程序里嵌套解析shell命令(linux命令)返回数据的情况。此时我们就会用到如下的函数:#define READMAX 128char *_strdup(const char *s){ char *ptr = NULL; ptr = strdup(s); if(NULL != ptr) { //printf("sf_strdup s...

2018-08-01 17:18:24 8328

原创 linux shell编程执行命令kill掉指定名称的进程

 在linux开发中我们时常会遇到对于之前进程kill掉,然后再运行当前进程或程序的情况,此时我们是不知道需要kill的进程号的,那么就需要通过一个shell命令组合来实现这个需求,如下命令就可以实现:命令:ps -efww | grep -w 'nameprocess' | grep -v grep | cut -c 1-5 | xargs kill -9说明:管道符“|”用来隔开两个命...

2018-08-01 17:07:33 4118

转载 网口扫盲三:以太网芯片MAC和PHY的关系

问:如何实现单片以太网微控制器?答:诀窍是将微控制器、以太网媒体接入控制器(MAC)和物理接口收发器(PHY)整合进同一芯片,这样能去掉许多外接元器件.这种方案可使MAC和PHY实现很好的匹配,同时还可减小引脚数、缩小芯片面积.单片以太网微控制器还降低了功耗,特别是在采用掉电模式的情况下.问:以太网MAC是什么?答:MAC即Media Access Control,即媒体访问控制子层协...

2018-07-30 16:14:17 46306 1

转载 网口扫盲二:Mac与Phy组成原理的简单分析

1. general下图是网口结构简图.网口由CPU、MAC和PHY三部分组成.DMA控制器通常属于CPU的一部分,用虚线放在这里是为了表示DMA控制器可能会参与到网口数据传输中.对于上述的三部分,并不一定都是独立的芯片,根据组合形式,可分为下列几种类型:CPU集成MAC与PHY; CPU集成MAC,PHY采用独立芯片; CPU不集成MAC与PHY,MAC与PHY采用集成芯片;...

2018-07-30 15:01:18 745

转载 网口扫盲一:网卡初步认识

 网络适配器又称网卡或网络接口卡(NIC),英文名Network Interface Card.它是使计算机联网的设备.平常所说的网卡就是将PC机和LAN连接的网络适配器.网卡(NIC) 插在计算机主板插槽中,负责将用户要传递的数据转换为网络上其它设备能够识别的格式,通过网络介质传输.数据在计算机总线中传输是并行方式即数据是肩并肩传输的,而在网络的物理缆线中说数据以串行的比特流方式传输的,网卡...

2018-07-30 14:27:36 9384

原创 VT100控制码

    最近有个临时的小任务,需要编一个命令行界面,需要用到控制串口打印在指定位置,并更新指定位置的数据显示,所以需要用到VT100控制码,所以特意整理了一些资料。    VT100  一个终端类型定义,VT100控制码 用来在终端扩展显示的代码。比如果终端上任意坐标用 不同的颜色显示字符。  所有的控制符  \033打头 (即ESC 的ASCII码)用输出字符语句来输出。可以在命令行用echo ...

2018-07-12 14:46:22 3653

转载 ubutu 开启Telnet方法

1、首先查看telnet运行状态#netstat -a | grep telnet输出为空,表示没有开启该服务2、安装openbsd-inetd#apt-get install openbsd-inetd如果已经安装过了,会提示已经安装过了,直接执行下面的步骤就可以了。3、安装telnetd#apt-get install telnetd安装完之后,查看/etc/inetd.conf的内容会多了一...

2018-07-06 10:54:22 504

原创 几个常用的数据处理代码实现

添加几个工作中常用的基本数据处理代码段,以备查阅。1、crc16校验计算。传入参数:目标数据,数据长度,返回值:crc16校验结果const uint16_t wCRCTalbeAbs[] ={ 0x0000, 0xCC01, 0xD801, 0x1400, 0xF001, 0x3C00, 0x2800, 0xE401, 0xA001,\ ...

2018-06-28 14:26:51 1905

原创 ubuntu下搭建linux驱动开发环境(适合没有开发板的初学者了解方法)

    对于很多linux开发初学者,手里没有开发板,但是又想练练linux驱动(入门级)的同学来说,在虚拟机ubuntu 下搭建一个简单的驱动开发环境不失为一个很好的选择。    linux驱动正常的开发环境搭建有以下几方面;    1、安装好交叉编译工具,比如arm-linux-gcc之类的(不同的开发板厂家时长会提供适合自己板子的交叉编译工具)    2、搭建好nfs(为了后边方便在虚拟机上...

2018-06-27 18:07:24 13929 2

原创 ubuntu12.04添加root用户登录

    在ubuntu下作linux开发过程中,搭建好开发环境默认的只有普通用户登录权限,但是在我们做某些操作的时候会提示权限不够,这时,我们往往需要在输入的指令之前加入"sudo",然后执行该指令,然后输入密码,才可以获取权限。    为了解决上边的麻烦,我们就需要在系统中加入root用户登录,具体步骤如下:在普通用户登录模式下终端输入:#sudo vi /etc/lightdm/lightdm...

2018-06-27 10:37:13 2457

原创 linux系统开发环境搭建

做linux开发,不论是应用开发还是bsp,首先要做的就是搭建开发环境。早先进入这个行业的习惯于使用一个轻量级的虚拟机软件vMware player+redhat的组合来构建开发环境。后来,大多就在使用vMwareworkstation+ubuntu来搭建linux开发环境。下边就大概总结一下:1、下载和安装vMwareworkstation 、Ubuntu安装详细步骤:http://blog.c...

2018-06-26 15:36:49 3724 1

转载 VMware Workstation 11 中 Ubuntu 14.04 的 VMware Tools 问题 : 共享文件夹

症状:主要表现在Win7中用VM11安装的Ubuntu14.04中,安装完自带的VMware Tools之后,/mnt/hgfs 中没有前面已经设置好的共享文件夹。仔细查看了安装过程,发现在编译vmhgfs/module.o的时候出现了错误。国内网站上也很少有关于这类问题的说明,查到一篇文章[链接]有说明在win8下使用vmware11和ubuntu14.10的,也没能解决我的问题。

2016-04-22 12:50:28 224

linux下oled驱动gpio模拟spi

包含了oled驱动源码以及makefile,下载可直接编译,挂载使用。

2019-01-23

cp210xx驱动64位

cp210xx驱动64位,上传以备以后自己查阅使用,网上有很多的驱动用不了,这个是千辛万苦找到的资源,可以使用,自己保存的同时跟大家分享

2018-08-06

snmp服务器配置

snmp服务器配置,关于net-snmp-5.4.4的snmp服务器安装源码配置

2012-11-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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