看了这么多的资料,现在决定上手了,下面将用两种方式来实现对GPIO 117的控制1,用直接添加到内核的方式,实现MISC的驱动(misc_register)2,用手工安装的方式,实现简单字符设备驱动(register_chrdev) 实现前提:当前所用的GPIO没有被其它设备所使用,大家可以用我前面BLOG说的方式查看GPIO的使用情况,当前我所用的GPIO本来是bluetooth的开关,需要屏蔽一个函数.不然后面的驱动申请IO都会失败.函数为Board-am335xevm.c 中的wl12xx…
gpio驱动程序 上一章节linux设备驱动程序--创建设备节点章节主要介绍了linux字符设备驱动程序的框架,从这一章节开始我们讲解各种外设的控制,包括gpio,i2c,dma等等,既然是外设,那就涉及到具体的目标板,博主在这里使用的开发板是开源平台beagle bone green,内核版本为4.14. 今天我们来讲解gpio的设备驱动程序. gpio相关的库函数 为了linux的可移植性和统一,linux提供一套函数库供用户使用,内容涵盖了GPIO/I2C/SPI等外设的控制,关于函数库可…
最近入手OrangePi Zero一块,程序上需要使用板子上自带的LED灯,在网上一查,不得不说OPi的支持跟树莓派无法相比.自己摸索了一下,实现简单的GPIO控制方法,作者的Zero安装的是Armbian系统,使用python写了一个读写寄存器的简单模块,通过这个模块,即可实现对GPIO的控制. 作者以前使用过STM32的MCU,这类MCU,如果要实现对GPIO的控制,只需要根据datasheet查找相应GPIO寄存器并进行配置,即可实现IO控制,例如,要将内存地址为0x12345678的寄存…
编写驱动程序,首先要了解是什么类型的设备.linux下的设备分为三类,分别为:字符设备,块设备和网络设备.字符设备类型是根据是否以字符流为数据的交换方式,大部分设备都是字符设备,如键盘,串口等,块设备则是以块为单位进行管理的设备,如,磁盘.网络设备就是网卡等. 其次要了解应用程序和驱动程序的区别,两者的主要区别分为以下三点: 1入口函数的任务不相同,应用程序完成一个任务,驱动只完成初始化工作,比如中断 申请,寄存器设置,定时器设置. 2运行时的cpu模式不相同,驱动具有很高的权限,应用程序是在用…
gpio_operation 通过/sys/文件接口操作IO端口 GPIO到文件系统的映射 * 控制GPIO的目录位于/sys/class/gpio * /sys/class/gpio/export文件用于通知系统需要导出控制的GPIO引脚编号 * /sys/class/gpio/unexport 用于通知系统取消导出 * /sys/class/gpio/gpiochipX目录保存系统中GPIO寄存器的信息,包括每个寄存器控制引脚的起始编号base,寄存器名称,引脚总数 导出一个引脚的操作步骤…
作者:陈拓 chentuo@ms.xab.ac.cn 2018.06.09/2018.07.05 0.  概述 本文介绍树莓派 Zero W的GPIO控制,并用LED看效果. 0.1 树莓派GPIO编号方式 功能物理引脚 从左到右,从上到下:左边奇数,右边偶数:1-40 BCM 编号侧重CPU寄存器,根据BCM2835的GPIO寄存器编号. wiringPi 编号侧重实现逻辑,把扩展GPIO端口从0开始编号,这种编号方便编程.如图 WiringPi一栏. 操作GPIO时一定先要清楚使用那一套编号…
Android studio 下JNI编程实例并生成so库 因为公司需要为Android相机做美颜等图像后期处理,需要使用JNI编程,最近学了下JNI,并且在Android Studio下实现了一个小demo.这期间有许多坑,网上资料有的用eclipse,有的用Android studio,后者资料少一些,在做的过程中出现了许多问题,还好最后都一个一个解决了,以下是总结,希望后来者少走弯路,写的略微简略,但是比较全面完整. 1,建立一个新工程,只有一个MainActivity,里面加载库文件并且…
1. 单例模式的本质: 控制实例数目(目的节约资源) 2. 单例模式体现的一些思想: (1)延迟装载(Lazy Load):懒汉式 (2)缓存:饿汉式 3. 单例模式的变形使用: 控制使用实例个数为3个(实例池): package com.himi.hebao.singleinstance; import java.util.HashMap; import java.util.Map; public class Person { // 定义用来缓存数据的容器 private static Map…
linux下socket编程实例一.基本socket函数Linux系统是通过提供套接字(socket)来进行网络编程的.网络的socket数据传输是一种特殊的I/O,socket也是一种文件描述符.socket也有一个类似于打开文件的函数:socket(),调用socket(),该函数返回一个整型的socket的描述符,随后的连接建立.数据传输等操作也都是通过该socket实现.1.socket函数syntax: int socket(int domain, int type, int prot…
系统:Windows 10 IDE::android studio 1. 问题:RecyclerView 在Android Studio已经导入情况下还无法实例引用问题 由于RecyclerView是在v7下的support包中的,经常用到,以前项目使用都没有问题.但这次已经在depence加入了相应的库却不成功.无法引用到,用到的 import android.support.v7.widget.GridLayoutManager; import android.support.v7.widg…
本文转自:OpenWRT中的按键和灯的GPIO控制实现 基于BarrierBreaker版本,基于AR9331 AP121 Demo单板 来进行描述 1.灯 A.在mach-ap121.c中,定义了灯所对应的GPIO定义: #define AP121_GPIO_LED_WLAN 0 #define AP121_GPIO_LED_USB 1 并定义了灯的GPIO结构对象: static struct gpio_led ap121_leds_gpio[] __initdata = { { .name…
在3.14及之后的linux中对gpio提供了sysfs接口,说明文档:Documents/gpio/sysfs.txt. Platforms which use the "gpiolib" implementors framework may choose to configure a sysfs user interface to GPIOs.This is different from the debugfs interface, since it provides contro…
关键字:Windows下MySQL多实例运行 阅读前注意事项: 1.有的版本的data目录不直接放在mysql安装目录下,有可能在:C:\ProgramData\MySQL\MySQL Server 5.1\data(不管路径在哪里 指定正确的路径即可) 2.操作步骤:复制MySQL安装目录-->修改my.ini中的端口2处.安装目录和数据目录---->命令安装MySQL windows服务--->修改注册表---->启动新实例的window服务---->正常使用 正文篇:…
Windows环境下修改Oracle实例监听IP地址. 配置文件路径:<ORACLE_HOME>\NETWORK\ADMIN 如:C:\Oracle11gR2\product\11.2.0\dbhome_1\NETWORK\ADMIN 一.修改配置文件:listener.ora # listener.ora Network Configuration File: D:\Oracle11gR2\product\\dbhome_1\network\admin\listener.ora # Gene…
简单的PHP+Mysql查询上一篇和下一篇文章实例,并输出上一篇和下一篇文章的标题和链接,适合新手学习 获取当前浏览文章id: $id = isset($_GET['id']) > 0 ? intval($_GET['id']) : ""; 下一篇文章: $query = mysql_query("SELECT id,title FROM article WHERE id>'$id' ORDER BY id ASC LIMIT 1"); $next =…
如果之前安装mongodb时没有使用 --auth,那么必须要卸载MongoDB服务,进行重新安装,设置账号权限才生效! 主要是解决在测试使用mongo db 时候,总是出现的MongoAuthenticationException  异常和 not authorized for query,not authorized on admin to execute command 等问题. 直接上测试步骤图拉. 我这个是先卸载了原来的mongo服务,然后删除我们配置的data文件夹下的所有东西,同时…
Linux(客户端)和Windows(服务端)下socket通信实例: (1)首先是Windows做客户端,Linux做服务端的程序 Windows   Client端 #include <stdio.h> #include <Windows.h> #pragma comment(lib, "ws2_32.lib") #define Port 5000 #define IP_ADDRESS "192.168.1.30"     //服务器地址…
#include <linux/gpio.h>  #include <linux/module.h>  #include <linux/kernel.h>  #include <linux/moduleparam.h>  #include <linux/delay.h>  #include <linux/types.h>  #include <linux/cdev.h>  #include <linux/device…
1.执行下面的命令,可以显示目前驱动已经申请到的IO状态 : $ mount -t debugfs debugfs /sys/kernel/debug  $ cat /sys/kernel/debug/gpio    root@am335x-evm:/# cat /sys/kernel/debug/gpio  GPIOs 0-31, gpio:   gpio-2   (volume-up           ) in  hi   gpio-3   (volume-down         ) i…
首先加载驱动模块,应用程序通过调用API实现GPIO控制功能. 驱动函数: /* * fileName: st7565_driver.c * just for LCD12864 driver * GP1_14(46) -> D6(SCK) * GP1_15(47) -> D7(SDA) * GP1_27(59) -> RST * GP1_28(60) -> RS */ #include <linux/device.h> #include <linux/fs.h&g…
NUCLEO-F412ZG板子上的元器件并没有完全焊接,除去ST-LINK部分和电源部分后,还有用一个USB主机接口,三个LED灯和两个按钮,不过很多功能引脚都已经引到了插针.查看原理图可发现,由原理图模块的5大部分与电源部分组成,即连接端子.ST-LINK.MCU.USB.以太网和电源部分. 电源部分考虑的非常充分,5V有三路输入,一路是有外部输入6-15VDC电源经U5(LD1117S50TR)转为5VDC电源:第二路是USB端口提供的5V电源,同时还有电流限制保护U4(ST890CDR):…
1 wiringPi for Python简介 wiringPi for Python是wiringPi的Python语言扩展,用于在Python程序中操作GPIO/I2C/SPI库/UART/PWM等硬件资源,功能非常强大.FriendlyELEC移植的wiringPi for Python现已支持FriendlyELEC-RK3399平台,目前支持NanoPi M4.NanoPi NEO4.和NanoPC-T4开发板. 当前提供的WiringPi版本:2.44WiringPi项目主页: ht…
1 wiringPi简介 wiringPi库最早是由Gordon Henderson所编写并维护的一个用C语言写成的类库,除了GPIO库,还包括了I2C库.SPI库.UART库和软件PWM库等,由于wiringPi的API函数和arduino非常相似,这也使得它广受欢迎.wiringPi库除了提供wiringPi类库及其头文件外,还提供了一个命令行工具gpio:可以用来设置和读写GPIO管脚,以方便在Shell脚本中控制GPIO管脚. wiringPi库最初是为BCM2835芯片编写的,现已移植…
完整的Oracle数据库通常由两部分组成:Oracle数据库和数据库实例. 1) 数据库是一系列物理文件的集合(数据文件,控制文件,联机日志,参数文件等): 2) Oracle数据库实例则是一组Oracle后台进程/线程以及在服务器分配的共享内存区. 在启动Oracle数据库服务器时,实际上是在服务器的内存中创建一个Oracle实例(即在服务器内存中分配共享内存并创建相关的后台内存),然后由这个Oracle数据库实例来访问和控制磁盘中的数据文件.Oracle有一个很大的内存快,成为全局区(SGA…
目录 1.前期预备知识 1.1 新大陆ZigBee模块LED灯电路 1.2 CC2530相关寄存器 1.3 寄存器操作技巧 1.4 CPU空转延时 1.4 操作流程图 2.程序代码 The End 1.前期预备知识 1.1 新大陆ZigBee模块LED灯电路 从上两的两个电路可知 1.LED1连接在LED-LINK上,而LED-LINK是从CC2530芯片的P1.0端口引出,同样LED2连接在LED-COMM上,而LED-COMM从CC2530芯片P1.1端口引出. 2.两个LED灯正极接的是C…
树莓派使用GPIO接口来控制LED灯,自制五彩炫光的节日彩灯. 1.硬件准备 a. 树莓派(Raspberry Pi)一个 b. 彩色RGB二极管 c. 杜邦线 d. 5V电源引脚 以上所有零件均可在某宝上 买到,都很便宜. LED灯上的4根引脚分别是VCC,R,G,B. VCC需要接到电源正极.我们把它连到树莓派的5V引脚上. R,G,B分别是红绿蓝灯的负极接口.我们把它们连接到树莓派的GPIO口上. 然后跟前一篇一样,使用PWM来控制3个小灯的明暗程度即可混合出各种不同颜色的光. 2.组装图…
原文地址  http://blog.csdn.net/llxmedici/article/details/6282372 打算跟着友善之臂的<mini2440 linux移植开发指南>来做个LED驱动,虽然LED的原理简单得不能再简单了,但是要把kernel中针对于s3c24**的GPIO的一些数据结构,还有函数搞清楚也不是那么轻松的事,所以本文主要简单地说明下LED驱动中的相关数据结构以及函数/宏的定义,并对驱动加以验证 ***********************************…
一.创建python驱动和控制GPIO 先新建一个文件夹用于放置脚本 mkdir python_gpio 进入文件夹内新建一个gpio_blink.py的脚本 cd python_gpio touch gpio_blink.py 开始来编辑gpio_blink.py脚本(使用vi/vim来编辑都可以) nano gpio_blink.py 编辑 gpio_blink.py 脚本,内容如下: import RPi.GPIO as GPIO //将RPi.GPIO 模块映射为GPIO来使用 impo…
这个问题我搞了四天,终于搞懂.因为对js很不熟悉.郁闷的是后台代码出错总可以设置断点调试,前端js代码出错只能通过浏览器提供一些运行数据来分析,很不习惯. 首先说下逻辑:这是一个注册功能,我希望,注册前端表单提交后,后台处理后,返回一个json数据,前端用jquery接收,并弹出弹框显示是否注册成功以及提示信息. 所以首先可以,写出后端代码: /** * @ClassName: RegisterController * @Description: Register CONTROLLER类 * @…
1.安装yii2 未安装的请参考yii2史上最简单式安装教程,没有之一 或者参考yii2实战教程之详细安装步骤 已安装的请继续看下一步操作 2.配置数据库 2.1 配置数据库 修改common/config/main-local.php 实际项目中本地的数据库往往跟线上数据库不一致, 我们这里配置到main-local.php就可以了,产品上线后,我们可以使用git或者svn忽略掉main-local.php,线上直接部署. 我们这里使用的mysql数据库,配置如下 当然啦,上面红圈圈的信息需要…