摘要: 用STM32L151(以下简称151吧)有一段时间了,151主要应用于低功耗领域,例如电子标签,低功耗性能不错。正题:由于所用板子上的IIC器件一直没有上拉电阻所以一直用IO口模拟IIC(IIC器件是加速度传感器ADXL346),最近新版子上多了一个IIC器件(温湿度传感器SI7005),带有上拉电阻,我本想先不焊接上拉电阻,用以前模拟IIC的程序检测一下器件是否焊接良好,结果不通,我检查了几遍程序,将IO口改成ADXL346的驱动端口是可以读取出器件ID的,但是SI7005就是不行。我检查焊接好像没问题,然后用示波器看了下波形,在写器件地址时没有应答信号。ADXL346程序:#define 阅读全文
posted @ 2013-01-22 15:19 zpehome 阅读(3746) 评论(1) 推荐(0) 编辑
摘要: 【1】 成为一棵大树的第一个条件: 时间!没有一棵大树是树苗种下去,马上就变成大树,一定是岁月刻画着年轮,一圈圈往外长。启示: 要想成功,一定要给自己时间! 时间就是经验的积累!【2】 成为一棵大树的第二个条件:不动!没有一棵大树,第一年种在这里,第二年种在那里,而可以成为一棵大树,一定是千百年来经风霜,历风雨,屹立不动!正是无数次的经风霜,历雨露最终成就大树!启示: 要想成功,一定要“经风霜、历雨露而不悔”!【3】成为一棵大树的第三个条件:根基!树有千百万条根,粗根、细根、微根,深入地底,忙碌而不停的吸收营养,成长自己。绝对没有一棵大树,没有根!启示: 要想成功,一定要不断学习!不断充实自己 阅读全文
posted @ 2013-01-08 00:12 zpehome 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 开启IIC时钟:CLKCON |= (1<<10)|(1<<13); //开启串口0时钟中断服务程序:void IRQ_Handler(void) __irq //irq中断函数{ switch(INTOFFSET) { case 27: irq_IIC();//中断处理程序 break; }}中断处理函数:void irq_IIC(void){ unsigned int iicSt,i; SRCPND = BIT_IIC; //Clear pending bit INTPND = BIT_IIC... 阅读全文
posted @ 2013-01-08 00:02 zpehome 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 宏定义: #define WrUTXH0(ch) (*(volatile unsigned char *)0x50000020) = ch //串口发送缓冲寄存器 #define RdURXH0() (*(volatile unsigned char *)0x50000024) //串口接受缓冲寄存器 #define WrUTXH1(ch) (*(volatile unsigned char *)0x50004020) = ch #define RdURXH1() (*(volatile unsigned char *)0x50004024) #define WrUTXH2... 阅读全文
posted @ 2013-01-08 00:01 zpehome 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 定时器实现流水灯:int main(){ SystemClockInit(); CLKCON |= (1<<8)|(1<<13);//使能PWMTIMER时钟,使能GPIO时钟 GPBCON = 0x155555;//配置protB的所有引脚为输出 Timer0_Config(); while(1) { //点亮第一个小灯 GPBDAT |= 0x1E0; GPBDAT &= 0x1C0; count=0;flag=0; while(flag!=1);flag=0; //点亮第二个小灯 GPBDAT |= 0x1E0; GPBDAT &= 0x1A0; 阅读全文
posted @ 2013-01-07 23:52 zpehome 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 在TQ2440的中断这里卡了很久,最后看了一位大神的空间把问题解决了,在这里表示一下感谢。下面我把代码贴出来跟刚学习2440的人分享:进入ISR后,清除中断的顺序很重要,首先是srcpnd接着是intpnd,如果还需要清除eintpnd的话,要最先清除。初始化中断:void irq_init(void) //irq初始化,这个函数其实比较简单,适当看看2440PDF就应该能设定寄存器了{ GPFCON = 0xaaaa; SRCPND = 0x17; INTMSK &= ~(0x17); INTPND = 0x17; EINTPEND =(1<<4); ... 阅读全文
posted @ 2013-01-07 23:45 zpehome 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 这是我的第一个TQ2440程序,流水灯:int main(){ //系统时钟初始化 SystemClockInit(); CLKCON |= (1<<13);//使能GPIO时钟 GPBCON = 0x155555;//配置protB的所有引脚为输出 while(1) { //点亮第一个小灯 GPBDAT |= 0x1E0; GPBDAT &= 0x1C0; delay();//软件延时 //点亮第二个小灯 GPBDAT |= 0x1E0; GPBDAT &= 0... 阅读全文
posted @ 2013-01-07 23:44 zpehome 阅读(197) 评论(0) 推荐(0) 编辑
摘要: S3C2440有三个时钟:FCLK for CPU, HCLK for the AHB bus peripherals, and PCLK for the APB bus peripheralsS3C2440系统时钟配置:首先配置PLL控制寄存器设置MPLLCON寄存器unsigned int FCLK;unsigned int HCLK;unsigned int PCLK;unsigned int UCLK;#define FIN 120000001 void ChangeMPllValue(int mdiv,int pdiv,int sdiv)//设置FCLK的值2 {3 MPLL... 阅读全文
posted @ 2013-01-07 23:13 zpehome 阅读(254) 评论(0) 推荐(0) 编辑