上一页 1 ··· 3 4 5 6 7 8 9 下一页
摘要: 本文摘自:与非网原文地址:http://www.eefocus.com/linexy/blog/11-07/227211_6f679.htmlSTM32中在使用任何一个外设都必须打开相应的时钟,所以我从STM32的时钟学起。RCC时钟在STM32中有5个时钟源:①、HSI是高速内部时钟,RC震荡器,频率为 8MHz。②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。③、LSI是低速内部时钟,RC振荡器,频率为40kHz。④、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。⑤、PLL为锁相环倍频输出,其时钟输入源可选择为HIS/2、HS 阅读全文
posted @ 2012-08-11 22:13 sky1991 阅读(518) 评论(0) 推荐(0) 编辑
摘要: [转]Stm32时钟分析该分析材料大部分来自opendev论坛,我所做的只不过是加上一些自己的分析和整理,由于个人能力有限,纰漏之处在所难免,欢迎指正。Stm32时钟结构图如下,(http://www.openedv.com/posts/list/302.htm)对上图的分析如下:重要的时钟: PLLCLK,SYSCLK,HCKL,PCLK1,PCLK2 之间的关系要弄清楚; 1、HSI:高速内部时钟信号 stm32单片机内带的时钟 (8M频率)精度较差 2、HSE:高速外部时钟信号精度高来源(1)HSE外部晶体/陶瓷谐振器(晶振) (2)HSE用户外部时钟 3、LSE:低速外部晶体 32.. 阅读全文
posted @ 2012-08-11 22:08 sky1991 阅读(5260) 评论(0) 推荐(0) 编辑
摘要: 1 #include "stdio.h" 2 #include "string.h" 3 4 unsigned char ChartoByte(char c) 5 { 6 if(c-'a'>=0 ) return(c-'a'+10); 7 else if(c-'A'>=0 ) return(c-'A'+10); 8 else return(c-'0'); 9 }10 11 unsigned char Char2toByte(char* s)12 {13 retur 阅读全文
posted @ 2012-08-09 16:00 sky1991 阅读(2372) 评论(0) 推荐(0) 编辑
摘要: 有些人说Linux下怎么开发单片机程序? 我们学得都是在Windows下的开发工具和烧录工具。其实这只是中国的情况,中国大都是用Windows系统的。所以我们也只接触到Windows下的开发工具。在国外,许多大牛是不用Windows的。那么,他们如果要做单片机怎么办?肯定没问题的,Linux也有许多的单片机和嵌入式的开发工具。下面,我以51系列单片机为例,介绍一下怎么使用Linux系统玩单片机。首先,说一下我的硬件和软件情况。硬件:一台笔记本、 一个51单片机开发板(这个在网上有很多卖,也就150左右的价格)。单片机芯片有两块 :一块是Atmel的AT89S52, 另一块是STC的STC89C 阅读全文
posted @ 2012-08-08 07:53 sky1991 阅读(7827) 评论(4) 推荐(0) 编辑
摘要: LCD有如下控制线:CS:Chip Select 片选,低电平有效RS:Register Select 寄存器选择WR:Write 写信号,低电平有效RD:Read 读信号,低电平有效RESET:重启信号,低电平有效DB0-DB15:数据线假如这些线,全部用普通IO口控制。根据LCD控制芯片手册(大部分控制芯片时序差不多):如果情况如下:DB0-DB15的IO全部为1(表示数据0xff),也可以为其他任意值,这里以0xff为例。CS为0(表示选上芯片,CS拉低时,芯片对传入的数据才会有效)RS为1(表示DB0-15上传递的是要被写到寄存器的值),如果为0,表示传递的是数据。WR为0,RD为1( 阅读全文
posted @ 2012-08-01 20:45 sky1991 阅读(1133) 评论(0) 推荐(2) 编辑
摘要: ili9320.h 1 #ifndef __ILI9320_H__ 2 #define __ILI9320_H__ 3 #include "reg52.h" 4 5 #define u8 unsigned char 6 #define u16 unsigned int 7 #define uchar unsigned char 8 #define uint unsigned int 9 10 //#define LCD_COLORS_NUM 6553611 #define LCD_SIZE_X 24012 #define LCD_SIZE_Y 32013 1... 阅读全文
posted @ 2012-07-28 09:06 sky1991 阅读(2832) 评论(0) 推荐(0) 编辑
摘要: 本文由龙佛热贡献LCD有如下控制线:CS:Chip Select 片选,低电平有效RS:Register Select 寄存器选择WR:Write 写信号,低电平有效RD:Read 读信号,低电平有效RESET:重启信号,低电平有效DB0-DB15:数据线假如这些线,全部用普通IO口控制。根据LCD控制芯片手册(大部分控制芯片时序差不多):如果情况如下:DB0-DB15的IO全部为1(表示数据0xff),也可以为其他任意值,这里以0xff为例。CS为0(表示选上芯片,CS拉低时,芯片对传入的数据才会有效)RS为1(表示DB0-15上传递的是要被写到寄存器的值),如果为0,表示传递的是数据。WR 阅读全文
posted @ 2012-07-27 10:02 sky1991 阅读(806) 评论(0) 推荐(1) 编辑
摘要: STM32第一个例子//**********************************************************************// 作者:YYYtech// 时间:2007/12/14//***********************************************************************/***********************************************************************main文件,GPIO操作,完成最简单的IO操作实验,就是控制LED灯4个LED分别对应 阅读全文
posted @ 2012-07-15 15:40 sky1991 阅读(5333) 评论(0) 推荐(0) 编辑
摘要: 端口位设置/复位寄存器BSRR:注:如果同时设置了BSy和BRy的对应位,BSy位起作用。位31:16 BRy:清除端口x的位y(y=0…15) 这些位只能写入并只能以字(16位)的形式操作。0:对对应的ODRy位不产生影响1:清除对应的ODRy位为0位15:0BSy:设置端口x的位y(y=0…15)这些位只能写入并只能以字(16位)的形式操作。0:对对应的ODRy位不产生影响1:设置对应的ODRy位为1端口位复位寄存器BRR:位31:16保留。位15:0BRy:清除端口x的位y(y=0…15)这些位只能写入并只能以字(16位)的形式操作。0:对对应的ODRy位不产生影响1:清除对应的ODRy 阅读全文
posted @ 2012-07-15 15:35 sky1991 阅读(12263) 评论(0) 推荐(0) 编辑
摘要: 中点画圆算法在一个方向上取单位间隔,在另一个方向的取值由两种可能取值的中点离圆的远近而定。实际处理中,用决策变量的符号来确定象素点的选择,因此算法效率较高。 一、中点画圆算法描述 设要显示圆的圆心在原点(0,0),半径为R,起点在(0,R)处,终点在(,)处,顺时针生成八分之一圆,利用对称性扫描转换全部圆。 为了应用中点画圆法,我们定义一个圆函数F(x,y)=x2+y2-R2(2-19) 任何点(x,y)的相对位置可由圆函数的符号来检测:F(x,y)<0 点(x,y)位于数学圆内=0 点(x,y)位于数学圆上>0 点(x,y)位于数学圆外(2-20) 如下图所示,图中有两条圆弧A和 阅读全文
posted @ 2012-07-09 20:24 sky1991 阅读(5363) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7 8 9 下一页