嵌入式
文章平均质量分 96
a16839678
喜欢自己想做的事情,坚持做自己想做的事情
展开
-
基于mini2440流水灯(裸机代码)
#include "def.h"#include "option.h"#include "2440addr.h" #include "2440lib.h"#include "2440slib.h" int System_init(void);void rDelay(unsigned int x );int Main() //主函数 { Syst原创 2012-11-27 11:51:32 · 784 阅读 · 0 评论 -
IO口模拟SPI总线
SPI是一种全双工同步串行接口,四总线结构SCK、MOSI、MISO、CS分别是时钟、主机输出、主机接收、片选。其中各个厂商的写法可能不一致。SPI总线有四种工作模式,在不再做介绍。最常用的SPI总线时序CS为低时SCK上冲沿数据有效,数据从MISO、MOSI输入和输出。我们只要有这个概念就行,具体时序可以直接看芯片手册。很多芯片都集成了SPI总线接口,没有SPI接口的芯片同样可以用IO口模拟其时原创 2013-10-13 23:18:50 · 5435 阅读 · 1 评论 -
基于mini2440的RTC读写(裸机)
很多处理器都有RTC实时时钟功能,s3c2440也提供了这个功能,其功能主要是:实时时钟、闹钟、tick中断等。RTC的操作比较简单。读写时RTCCON最低位应设置为1,不读写时设置为0以免误修改RTC相应寄存器。BCDSEC,BCDMIN,BCDHOUR,BCDDAY,BCDDATE,BCDMON,BCDYEAR可以设置和读取RTC的值,在编程中需要注意一秒只差的问题(具体可查看芯片手册),原创 2013-09-08 14:12:12 · 1272 阅读 · 0 评论 -
基于mini2440的IIC读写(裸机)
在mini2440开发板提供的源代码中IIC操作的源代码写的比较乱,在此根据数据手册和芯片手册,直观的编写代码,有中断模式和轮询模式,两种模式的操作方式相差不大。原创 2013-08-25 21:43:25 · 1559 阅读 · 2 评论 -
基于mini2440的ADC操作(裸机)
ADC转换器在s3c2440有集成,我在闲暇之余写的代码,有普通的轮询模式和中断模式,很多人疑问在芯片手册中只有触摸屏中断但没有说明ADC中断的相关设置位,其实是ADC中断是在转换完成了才产生中断,并不是中断了才开始转换,只要允许了ADC中断在转换完成了产生中断,这点需要区分。在完成中断后需要清除相关的标志位等待下一次中断。值得注意的是在使用中断之前需要重新映射中断地址才能使用即先调用MMU_原创 2013-08-09 22:44:07 · 808 阅读 · 0 评论 -
基于mini2440简单计算器的实现(裸机代码)
基于mini2440简易计算器使用的是数组实现,并非逆波兰式,因此功能不够强大,仅供驱动学习,以及C语言基础编程学习之用.有时间读者可以用逆波兰式来实现强大功能计算器,原理也很简单,建议读《c程序设计第二版》里面有算法的代码.读者自行研究.此程序基于电子相册的改进,触摸屏,LCD,字符现实,数字输入等等.主函数部分:#include "def.h"#include "option.h原创 2012-11-28 11:55:30 · 1016 阅读 · 1 评论 -
基于51单片机的花样流水灯仿真(代码)
《单片机C语言程序设计实训100例基于8051+Proteus仿真》的例子:#include #define uchar unsigned char #define uint unsigned int uchar code Pattern_P0[]= { 0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7f,0xff,0xff,0xff,0xff,0xff原创 2012-11-28 18:51:59 · 6168 阅读 · 1 评论 -
基于mini2440按键控制电子相册(裸机代码)
#define GLOBAL_CLK 1#include "def.h"#include "option.h"#include "2440addr.h"#include "profile.h"#define LCD_WIDTH 320 //屏幕宽度#define LCD_HEIGHT 240 //屏幕高度#define CLKVAL 4 //时钟信号//垂直同步信号的脉宽、原创 2012-11-27 11:55:52 · 1286 阅读 · 0 评论 -
基于mini2440轮询控制LED(裸机代码)
#define GLOBAL_CLK #include "def.h"#include "option.h"#include "2440addr.h" #include "2440lib.h"#include "2440slib.h" #define LED1_on rGPBDAT = ((0xf<<5)^(1<<5)) //GPB5=0#define LED2_原创 2012-11-27 11:53:05 · 545 阅读 · 0 评论 -
基于mini2440触摸屏版电子相册(裸机代码)
主函数:#include "def.h"#include "option.h"#include "2440addr.h"#include "profile.h"#define LED1_on rGPBDAT = ((0xf<<5)^(1<<5)) //GPB5=0#define LED4_on rGPBDAT = ((0xf<<5)^(1<<8)) //GPB8=0原创 2012-11-27 12:12:06 · 1885 阅读 · 0 评论 -
基于mini2440的按键中断控制LED(裸机代码)
#define GLOBAL_CLK //相当于定义了FCLK,HCLK,PCLK,UCLK#include "def.h"#include "option.h"#include "mmu.h"#include "2440addr.h"#define LED1_on rGPBDAT = ((0xf<<5)^(1<<5)) //GPB5=0#define LED2_on原创 2012-11-27 11:45:40 · 729 阅读 · 0 评论 -
[openwrt] 使用ubus实现进程通信
ubus为openwrt平台开发中的进程间通信提供了一个通用的框架。它让进程间通信的实现变得非常简单,并且ubus具有很强的可移植性,可以很方便的移植到其他linux平台上使用。本文描述了ubus的实现原理和整体框架。ubus源码可通过git库 git://nbd.name/luci2/ubus.git 获得,其依赖的ubox库的git库:git://nbd.name/luci2/ubox.git...转载 2018-04-12 08:29:38 · 557 阅读 · 0 评论