小v电子技术博文 上海鲤鲸网络科技 小v单片机 物联网云平台管理系统+终端嵌入式软硬件开发!

热门文章 电能质量芯片ade7880在arm linux上的驱动移植

  • 时间:2017-11-17
  • 作者:小v
  • 分类: Linux
  • 浏览:847
  • 评论:0
  • 电能质量芯片ade7880在arm linux上的驱动移植 本说明是基于imx6ul的Linux操作系统。由于官方没有给出ade7880的Linux驱动,所以使用spidev总线的方式操作ade7880. 在测试之前请确认ade7880的硬件已经OK,并且在 /dev 的目录下有spidevx.0   和gpio。 使用spi的四线制 也就是cs片选线有spi自己通过硬件转换,而不是软件程序控制,这种方式经过测试发现存在问题。片选的时序问题造成读取的数据一直 是0xff,所以cs片选使用软件控制,也就是当成一个gpio 来控制高低电平的输出转换。 spi初始化之前 先要给ade78...

    阅读全文>>

    热门文章 arm linux gpio控制使用/dev/gpio 实现

  • 时间:2017-11-17
  • 作者:小v
  • 分类: Linux
  • 浏览:1188
  • 评论:0
  • arm linux gpio控制使用/dev/gpio 实现 1、在设备树文件中添加设备节点定义以及其引脚定义: 并将其他复用引脚对应的功能disabed,保证这些引脚没被重复定义使用。引脚的pinmux可以查看imx6ul-pinfunc.h文件。 2、在driver/misc/gpio目录下添加gpio驱动gpio-user.c,名字需要与节点定义里的驱动名字保持相同,客户也可以自己写驱动。同时添加Kconfig和Makefile文件。 修改driver/misc下Kconfig和Makefile文件: 在driver/misc/Makefile 中添加: ...

    阅读全文>>

    热门文章 ADE7878电能质量芯片 stm32 linux 驱动程序测试

  • 时间:2017-11-16
  • 作者:小v
  • 分类: Linux
  • 浏览:958
  • 评论:0
  • ADE7878是一款电能质量芯片,使用spi通信接口, 功能如下: 兼容三相三线或三相四线(三角形或星形)及其它三相配置 测量各相及整个系统的总(基波和谐波)有功/无功(ADE7878、 ADE7868和ADE7858)/视在功率和基波有功/无功功率 (仅限ADE7878) T A = 25°C时,在1000:1的动态范围内有功和无功功率误差小 于0.1% T A = 25°C时,在3000:1的动态范围内有功和无功功率误差小 于0.2% 支持电流互感器和微分(di/dt)电流传感器 零 线 电 流 输 入 采 用 专 用 ADC通 道 (仅 限 ADE7868和 ADE7878) T A = 25°C时,在1000:1的动态范围内电压...

    阅读全文>>

    热门文章 物联网平台示意及案例

  • 时间:2017-11-10
  • 作者:horo2015
  • 分类: Linux
  • 浏览:628
  • 评论:0
  • 物联网平台一般主要包含三个系统,终端控制系统,云平台系统,客户端APP系统。 终端设备控制系统可以是单片机,arm,linux,负责数据采集,汇总简单处理及上传以及接受指令控制外围设备响应。 较复杂的终端系统也许会是安卓系统,Linux系统,然后通过WiFi,ZigBee,串口,485等工业常用的通信口,又以总线方式接入外围许多从设备。从设备又可以是arm 单片机或其他传感器之类。负责上传的设备需要有以太网或者GPRS 4G等通信功能。常见的安卓终端设备比如一些购物柜 猜测友宝可能是。 云服务器一般是公网IP的服务器,常见的有linux  Windows系统。Linux下我一般部署lNMP 架构,比较成熟稳定方便维护。 安卓APP就是...

    阅读全文>>

    热门文章 阿里云使用LNMP一键安装包

  • 时间:2017-11-9
  • 作者:小v
  • 分类: Linux
  • 浏览:1115
  • 评论:0
  • 之前使用阿里云的推荐的lnmp安装包 太垃圾了 后来在网上搜到LNMP 1.4一键安装包 地址 https://lnmp.org/ 安装成功了,也能访问了。 安装教程 https://lnmp.org/install.html 下载指令 wget -c http://soft.vpser.net/lnmp/lnmp1.4.tar.gz && tar zxf lnmp1.4.tar.gz 

    阅读全文>>

    热门文章 sprintf和printf输出位数不够前边补零的技巧

  • 时间:2017-11-7
  • 作者:小v
  • 分类: Linux
  • 浏览:1603
  • 评论:0
  •  sprintf 和printf 转换时往往需要输出格式保持一致,比如转换mac地址和ip地址时需要将0显示出来并对齐。 int a = 4; printf("%03d",a); 输出:004 也可以用 * 代替位数,在后面的参数列表中用变量控制输出位数; int a = 4; int n = 3; printf("%0*d",n,a); 输出:004 ...

    阅读全文>>

    热门文章 如何维修树莓派3B的硬件电源错误

  • 时间:2017-11-1
  • 作者:小v
  • 分类: Linux
  • 浏览:872
  • 评论:0
  • 最近用树莓派,可能io口或者哪里短路了。接着悲剧发生了,树莓派起不来了。马上断电以免引起更严中的错误。 一般情况下,电子产品的电源部分都有保险丝或者二极管之类的保护器件,所以短路一般烧毁的都是这些器件,只要找到这些器件更换应该就可以。 现象: 树莓派3B上电,发现红灯不亮,在有tf卡的情况下,绿灯会闪烁然后,电源这一块电路剧烫手,说明某个地方绝壁短路了。 拿万用表测量这块电源部分的二极管,电容,发现二极管正反接都是导通的。 用烙铁拆掉二极管。 先不插卡,插上usb插头看是否还有发烫的器件,我的没有。然后将tf卡数据备份。插上tf卡。上电,随时准备断电。 发现先是红灯亮,然后绿灯跟着闪起来了。红灯...

    阅读全文>>

    热门文章 ad7689在arm Linux imx6ul上的使用

  • 时间:2017-10-31
  • 作者:小v
  • 分类: Linux
  • 浏览:999
  • 评论:0
  • ad7689 是一款8通道adc采集芯片,使用spi接口通信。 移植到Linux上使用用的是内核的spidev驱动,找到 /dev/spidev1.0 设备是我们 用的总线接口。 ad7689 直接读取数据便是1-8的通道。 在读取ad7689的数据时需要配置spi 的,这里配置成默认的0模式  10MHZ 将第0路接地  打印 in0 get = 0  in1 get = 1bb  in2 get = 2079  in3 get = 9b  in4 get = 20a2  in5 get = 20a3  in6...

    阅读全文>>

    热门文章 物联网平台架构

  • 时间:2017-10-30
  • 作者:小v
  • 分类: Linux
  • 浏览:882
  • 评论:0
  • 工业级物联网项目架构设计思想 了解了工业级的物联网项目的一些特色,所以架构设计方面就有了方向和思路。我们先从技术角度分析,当前一个典型的物联网项目,从组成上来讲,至少有三部分:一是设备端,二是云端(主要指公有云),三是监控端。 1. 设备端架构设计 设备端主要负责数据采集,工艺逻辑执行及控制。 无论底层的设备数量有多少,通信协议有多复杂,考虑到项目安全等等因素,往往和云端通信,汇集在一个设备上,这样的设备的角色往往是物联网网关,除了专门负责和云端进行通信外,有时候也会对原始数据进行一定的处理,执行一些业务逻辑相关的代码。 和云端通信有很多协议可选,常见的有基于HTTP协议的Get或Put方法,从服务器获取一些设置及状态,及向服务器推送采集到的...

    阅读全文>>

    热门文章 电源输入接二极管的考虑

  • 时间:2017-10-24
  • 作者:小v
  • 分类: 经验文章
  • 浏览:521
  • 评论:0
  •  对于平常日用的一些产品,产品在进行设计时就会考虑这个问题,顾客只是简单的利用插头进行电源的连接,所以一般采用反插错接头,这是种简单,低价而有效的方法。 但是,对于产品处于工厂生产阶段,可能不便采用防差错接头,这可能就会造成由于生产人员的疏忽造成反接,带来损失。 所以给电路增加防接反电路有时还是有必要的,尽管增加了成本。 下面就说说常用的防接反电路: 1、最简单的在电路中串入一只二极管       优点:电路简单,成本较低。适用于小电流,对成本要求比较严的产品。    缺点:由于二极管的PN结在导通时,存在一个压降,一般在0.7V以下。这个压降就导致这种...

    阅读全文>>

    热门文章 i2c tools下载编译嵌入式Linux移植

  • 时间:2017-10-19
  • 作者:horo2015
  • 分类: Linux
  • 浏览:818
  • 评论:0
  • i2c tools下载 下载后解压将Makefile z中的 CC ?= CC 改为 CC = arm-linux-gcc 编译 在tools生成 i2cdetect   i2cdump i2cget  i2cset  用file 查看格式。 i2c tools大小:700kB | 来源:百度网盘 已经过安全软件检测无毒,请您放心下载。

    阅读全文>>

    热门文章 Makefile 指定链接库

  • 时间:2017-10-18
  • 作者:horo2015
  • 分类: Linux
  • 浏览:594
  • 评论:0
  • makefile 中加入 libm.so.6 发现该动态库在 /usr/lib/arm-linux-gnueabi/下边 make中加入 LIBS += -L  /usr/lib/arm-linux-gnueabi/  -lm 即可编译通过

    阅读全文>>

    热门文章 关于阿里云服务器ssh 连接和ping的问题

  • 时间:2017-10-17
  • 作者:horo2015
  • 分类: Linux
  • 浏览:797
  • 评论:0
  • 买到阿里云的ECS后 ,发现不能ping 通也不能ssh 连接, 经过不断的尝试,发现需要设置规则, 在 安全组中,找到设置规则 添加 ssh  和 http    icmp  等来添加这些功能。 另外可以在客户端的电能使用tracert 检测链路中断的地方。 比如我使用tracert  公网IP时 发现  已经到阿里云内部了后面的就断了。所以就出现在阿里云的地方了。

    阅读全文>>

    热门文章 谈谈程序员、技术主管和架构师

  • 时间:2017-10-13
  • 作者:小v
  • 分类: 励志格言|故事
  • 浏览:559
  • 评论:0
  •    在程序员从初级走向资深的过程中,会面临两个支路,一个叫「技术主管」,另一个则是「架构师」。为什么这是两条支路?因为现在回过来看,这两条路从来都不是程序员的自然成长路径,下面我们先从「技术主管」开始吧。 技术主管 技术主管,有些公司可能又叫「技术经理」,英文一般是 Tech Leader 或简称 TL。在拉姆·查兰 (Ram Charan) 那本《领导梯队》中提到一个人的工作角色中至少有百分之五十以上的时间是花费在管理事务上,那么他的角色才算是一个经理(Manager)。所以技术主管(经理)类似产品经理属于以经理命名却是非经理的角色。 「技术主管」是开发团队中的某位程序员需要对一起创建系统...

    阅读全文>>

    热门文章 关于树莓派没有显示屏使用ssh 的问题

  • 时间:2017-10-9
  • 作者:小v
  • 分类: Linux
  • 浏览:1606
  • 评论:0
  • 树莓派3B 如果不使用显示器 可又想进入shell  怎么办  , 树莓派3B是没有开启shll 的默认的。 将tf卡插到Windows下  ,并在boot 目录下 新建 xx.txt  重新命名为 shell  文件 ,记住 boot就是tf卡的名称,在根目录下建立文件而不是文件夹 。 由于树莓派在识别不到路由的时候有一个磨人的IP地址 好像是169.254之类的 ,如果将树莓派和电脑直连 使用 arp  -a  在windows下是不管用的。 所以要将树莓派插到带有dhcp的路由上,一般无线路由都有。 然后在Windows下 arp...

    阅读全文>>

    热门文章 Linux使用system()获取执行结果

  • 时间:2017-9-30
  • 作者:小v
  • 分类: Linux
  • 浏览:742
  • 评论:0
  • #include<stdlib.h> #include<stdio.h> #include<string.h> #include<unistd.h> static int getResultFromSystemCall(const char *pCmd,char *pResult,int size) {  int fd[2];  if(pipe(fd)){    printf("pipe error ! \n");    return -1;   }  int bak_fd = dup(STDOUT_FILENO);  i...

    阅读全文>>

    热门文章 modbus 在imx6ul上的移植

  • 时间:2017-9-12
  • 作者:小v
  • 分类: Linux
  • 浏览:858
  • 评论:0
  • 在 官网上下载 modbus的压缩文件 http://libmodbus.org/     点击上边你的3.0.6的stable 稳定版的文件,。 下载到虚拟机内,解压。 cd  modbus的目录 mkdir   lib-modules  ./configure --host=arm-linux --prefix=/home/d/libmodbus/libmodbus-3.0.6/ 然后 make  & make install  这一步才是真正的安装库文件  如果出现 Lib...

    阅读全文>>

    热门文章 imx6ul调试adc总结

  • 时间:2017-9-11
  • 作者:小v
  • 分类: Linux
  • 浏览:2091
  • 评论:0
  • imx6ul调试adc  修改设备树  , 去掉了TSC的部分,增加了adc1的设备属性,结果发现在 /sys/bus/iio/device/下为空的了,什么都没有。 反复检查在启动的打印过程中发现  [    0.172530] reg-fixed-voltage regulator.15: Failed to allocate supply name [    0.172579] reg-fixed-voltage: probe of regulator.15 failed with error -12 说是regular 这个东西没能...

    阅读全文>>

    热门文章 compile devicetree.dts error: Unable to parse input tree 总结

  • 时间:2017-9-7
  • 作者:小v
  • 分类: Linux
  • 浏览:2252
  • 评论:0
  • 在编译imx6 或者更改设备树的时候,有时候会出现这个错误。                 Error: ./zynq-zc702_rl.dts:358.4-359.1 syntax error                 FATAL ERROR: Unable to parse input tree 一般是由于在设备树 dts里边丢了或者多了 符号  比如  {   }; 另一种原因也有可能是 管脚写错了,你的管脚不存在,或者字符串格式...

    阅读全文>>

    热门文章 MX6UL如何修改PWM输出

  • 时间:2017-9-5
  • 作者:小v
  • 分类: Linux
  • 浏览:1507
  • 评论:0
  •   采用lcd电阻触摸一路GPIO1_IO04用作PWM控制,并输出2.4K的方波。   CPU默认可输出8路PWM,默认背光采用的为PWM1,增加GPIO1_IO04复用为PWM3。 驱动默认已经加载,驱动路径为drivers/pwm/pwm-imx.c。   修改设备树,修改imx6ul.dtsi中 pwm3: pwm@02088000 { compatible = "fsl,imx6ul-pwm", "fsl,imx27-pwm"; reg = <0x02088000 0...

    阅读全文>>

    热门文章 imx6uL调试USB2514b-3

  • 时间:2017-9-5
  • 作者:小v
  • 分类: Linux
  • 浏览:871
  • 评论:0
  • 测量勾514B的晶振发现该芯片竟然没起震。 后来焊下晶振,发现该批晶振的缺口焊盘是2脚而不是1脚。

    阅读全文>>

    热门文章 imx6uL调试USB2514b-2

  • 时间:2017-9-4
  • 作者:小v
  • 分类: Linux
  • 浏览:983
  • 评论:0
  • [    2.900105] usb 1-1: device no response, device descriptor read/64, error -71 [    3.220056] usb 1-1: device no response, device descriptor read/64, error -71 在Linux的内核中  路径 kernel/linux-3.14.38/include/uapi/asm-generic 找到errno.h #define EADV            68...

    阅读全文>>

    热门文章 imx6uL调试USB2514b-1

  • 时间:2017-9-4
  • 作者:小v
  • 分类: Linux
  • 浏览:1729
  • 评论:0
  • 项目中自己设计的板子,使用的imx6ul 和USBHUB 芯片  usb2514b 但是在调试中发现   [    1.730092] usb 1-1: new full-speed USB device number 2 using ci_hdrc [    1.980110] usb 1-1: device no response, device descriptor read/64, error -71 [    2.103437] usbcore: registered new interface driver usbhid [    2.109124] ...

    阅读全文>>

    热门文章 Linux系统调度及例子

  • 时间:2017-8-18
  • 作者:小v
  • 分类: Linux
  • 浏览:1482
  • 评论:1
  • 1、综述 Linux作为多任务、多用户的操作系统,其进程/线程调度管理是实现这些特性的关键部分。调度管理决定系统中的众多线程中哪个线程获得执行、什么时候开始执行、执行多久。一个好的调度算法能优化系统资源的使用,提高系统使用效率。 Linux内核中实现了Scheduler Classes,来实现多个调度类(Scheduler class)的协同工作,每个不同的调度类对应不同的类型的线程,而且每个调度类都有自身的优先级,Linux调度管理基础代码会遍历在内核中注册了的调度类,选择高优先级的调度类,然后让此调度类按照自己的调度算法选择下一个执行的线程。Linux系统中常用的几种调度类为SCHED_NORMAL、SCHED_FIFO、SCHED_...

    阅读全文>>

    热门文章 嵌入式Linux和WinCE应用线程时间片分析比较

  • 时间:2017-8-18
  • 作者:小v
  • 分类: Linux
  • 浏览:709
  • 评论:1
  •  对于一个嵌入式多任务、多线程操作系统,所启动的应用进程至少拥有一个线程或多个线程,线程在进程中执行代码。一个进程能够“同时”运行多个线程,“同时”加上引号,因为实际上,在单处理CPU平台上,任何时刻,只有一个线程在执行。操作系统通过任务调度算法快速切换线程来模拟多线程并行,交替地停止一个线程,然后切换到另外一个上运行。支持任务优先级,高优先级线程比低优先级线程更先执行,也就是说低优先线程必须等到高优先级线程被阻塞挂起后才可能被调度。对于优先级别相等的线程使用轮换算法来调度。           无论是WinCE还是Linux操作系统,应用线程的运行总是涉及到两个基本的参数:一个...

    阅读全文>>

    热门文章 关于线程调度问题理解

  • 时间:2017-8-18
  • 作者:小v
  • 分类: Linux
  • 浏览:739
  • 评论:0
  • 前几天公司里的项目中遇到一个问题,当前不想停止而又想停止其当前操作权,于是想让系统重新分配线程的控制权。在CSDN上看到一篇文章蛮不错的。转给大家看看。 我们可能经常会用到 Sleep 函数来使线程挂起一段时间。那么你有没有正确的理解这个函数的用法呢?思考下面这两个问题: 假设现在是 2012-12-16 3:37:40,如果我调用一下 Thread.Sleep(1000) ,在 2012-12-16 3:37:41 的时候,这个线程会不会被唤醒? 某人的代码中用了一句看似莫明其妙的话:Sleep(0) 。既然是 Sleep 0 毫秒,那么他跟去掉这句代码相比,有啥区别么? 我们先回顾一下操作系统原理。 操作系统中,CPU竞争有很多种策略。Unix...

    阅读全文>>

    热门文章 关于armLinux的实时性之usleep的分析

  • 时间:2017-7-26
  • 作者:小v
  • 分类: Linux
  • 浏览:762
  • 评论:0
  • 分析使用基于arm的linux的平台下采集数据,计划在20ms内采集128个点,由于Linux实时性的限制,其软件中断不可取,计划使用while循环方式。 如果20ms内采集128个点,那么如果usleep精确的话,usleep是一个微妙级的延时,   则可以按下的方式实现   int i; while(i++ < 128)//128*157us = 20096us 即20ms {     adcv=adcget();//get  data      usleep(157...

    阅读全文>>

    返回顶部| 首页| 手气不错| 捐赠支持| 自定义链接| 自定义链接| 自定义链接| 手机版本|后花园

    Copyright © 2014-2017   京ICP备14059411 Copyright 2014-2015 上海鲤鲸网络科技工作室 版权所有 All Rights Reserved

    sitemap