Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

TQ2440外接GPIO蜂鸣器驱动程序

TQ2440外接GPIO蜂鸣器驱动程序

本文通过TQ2440开发板上可外接的GPIO口GPG14连接蜂鸣器,通过控制GPG14引脚的高低电平的输出和高低电平输出之间的时间间隔来使蜂鸣器发出不同的声音。1.打开S3C2440的底板原理图找到GPIO,如下图所示:使用万用表先找到VDD5V那个引脚,然后对照图找到GPG14,将蜂鸣器的正极连上GPG14,负极连上GND接地。Ubuntu下搭建TQ2440的程序下载环境 http://www.linuxidc.com/Linux/2011-03/328...
TQ2440上LED灯闪烁效果的驱动程序实现

TQ2440上LED灯闪烁效果的驱动程序实现

本篇文章的驱动程序实现的要点:一是实现了设备文件的自动创建,不用每次运行驱动都要使用mknod指令自动创建设备文件,本文通过udev(mdev)来实现设备文件的自动创建。二是对LED灯的控制不是通过直接设置相关GPIO的二进制位来实现,本文使用linux系统中提供的对S3C2410 GPIO的操作函数,直接实现对相关GPIO的控制。三是实现了LED灯的闪烁效果,本文虽然没有在驱动程序代码中直接实现LED灯的闪烁效果,但是通过上层应用程序调用驱动程序中的io...
Linux内核驱动入门之阻塞操作实验:glob

Linux内核驱动入门之阻塞操作实验:glob

首先,先来了解一下设备的阻塞与非阻塞操作以及实现阻塞操作的方法:1.设备的阻塞与非阻塞操作:阻塞操作是指,在执行设备操作时,若不能获得资源,则进程被挂起直到满足可操作的条件再进行操作。非阻塞操作是指,当进程不能进行设备操作时,并不挂起,它或者放弃,或者不停地查询,直到可以进行操作为止。2.实现阻塞操作的方法:在linux驱动程序中,可以使用等待队列(wait queue)来实现阻塞访问。一,glob字符设备驱动程序的编写,把文件名命名为glob.c,源代码...
Matlab 使用技巧分享

Matlab 使用技巧分享

整理了一些 Matlab 使用技巧,与大家分享。1、. Ctrl+C中断正在执行的操作如果程序不小心进入死循环,或者计算时间太长,可以在命令窗口中使用Ctrl+c来中断。MATLAB这时可能正疲于应付,响应会有些滞后。2. figure命令新建一个绘图窗口figure 可以打开一个空的绘图窗口,接下的绘图命令可以将图画在它里面,而不会覆盖以前的绘图窗口。当有多个figure窗口时,在命令窗口中执行如Plot等命令将覆盖当前figure窗口中的对象。所谓的当...
Ajax异步获得JSON对象后格式化时间

Ajax异步获得JSON对象后格式化时间

我现在通过ajax异步获得一个po类(以json对象形式接收),然后希望能够格式化po对象中的一个属性,属性为date类型,然后在页面显示。页面的实现后截图效果如下:时间属性在后台显示格式形如:Thu Aug 28 13:14:44 CST 2014在页面js的时间属性形如:[object:object]实现代码如下://实现思路:获得毫秒数 再转化为需要时间格式。形如:yyyy-MM-ddvar format = function(time, forma...
产品环境中 Go 语言的最佳实践

产品环境中 Go 语言的最佳实践

在SoundCloud,我们为客户构建了产品的API。或者说,我们主要的网站、手机客户端和手机应用是该API的第一批客户。该API背后是一个领域性的服务:SoundCloud基本上以面向服务体系结构的形式运作。我们也是通晓多种语言的组织,因为我们使用了很多语言。并且这些服务(和基础设施支持)的许多部分是使用Golang开发的。事实上,我们都是早期Golang的使用者:目前,我们已在产品中使用Golang有两年半的时间。相关项目包括:Bazooka,我们内部...
Go 语言将使用 Go 代替 C 重写运行时环境

Go 语言将使用 Go 代替 C 重写运行时环境

Go 1.4 的合并窗口在 9 月份将关闭,从现在开始到12月份发布 Go 1.4 之前将只接受 bug 修复和小调整。Go 1.4 最主要的变化是将使用 Go 语言本身来重写 Go 的运行时,而之前是采用 C 语言开发。这也是为什么 Go 的发行版中包含一个 C 编译器的原因。使用 Go 重写的好处是:当前如果在 Goroutine 的调用堆栈中发现 C 代码,runtime 将在需要增长堆栈时回滚到老的堆栈方法。如果使用 Go 来重写 runtime,...
通过 Redis 实现 RPC 远程方法调用

通过 Redis 实现 RPC 远程方法调用

我发现经常研究并且为之兴奋的一件事就是对系统进行扩展。现在这对不同的人有着不同的意思。作为移植Monolithic应用到Microservices架构方法中的一部分,如何处理Microservices架构是我研究RPC的原因。RPC(或者叫做远程进程调用)是一个已经在计算机科学领域存在较长一段时间的概念。对此一种非常简单的理解就是发送一段消息到远程进程的能力,而不论它是在同一个系统上还是远程的系统。总的来说这是非常模糊的,而且对许多的实现来说是开放的。在我...
Shell常用命令和流程控制

Shell常用命令和流程控制

在shell脚本中可以使用三类命令:>>> Unix 命令 <<<虽然在shell脚本中可以使用任意的unix命令,但是还是由一些相对更常用的命令。这些命令通常是用来进行文件和文字操作的。常用命令语法及功能echo "some text": 将文字内容打印在屏幕上ls: 文件列表wc –l file wc -w file wc -c file: 计算文件行数、计算文件中的单词数、计算文件中的字符数cp sou...
Android解决使用findViewById时需要对返回值进行类型转换问题的辅助类

Android解决使用findViewById时需要对返回值进行类型转换问题的辅助类

在我们的开发工作时,findViewById可能是用得最多的函数之一,但它特别讨厌的地方就是我们经常需要对返回的view进行类型转换,输入麻烦、代码丑陋,例如以前我们在Activity中找一些子控件一般是这样 :@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.lay...
<< 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 >>