3℃
2011年09月12日
⁄ 嵌入式研究
最近的文章都写得很乱,并且没有标示已成功的文章请匆做参考,因为这些都只是我的学习笔记,成功与否不清楚.
以下为了安装方便,全部是在root用户模式下进行.普通用户的话需要在命令前加sudo.
1:安装交叉编译器
为了不折腾,就先用友善之臂的了.
mkdir -p /home/linux-tools
cd /home/linux-tools
wget http://soft.isfate.com/linux-tools/arm-linux-gcc-4.4.3.tar.gz
tar xvzf arm-linux-gcc-4.4.3.tgr.gz -C /
这样会把arm-linux-gcc-4.4.3.tgr.gz解压到/opt下,然后增加一个全变量:
修改/etc/profile,在合适位置增...
linux阅读全文
0℃
2011年07月19日
⁄ 嵌入式研究
PLL源有两个,一个是MPLL,另一个是UPLL. MPLL用于CPU用外设,UPLL只用于USB.
MPLL中又有FCLK; HCLK; PCLK
FCLK:用于CPU内核.
HCLK:用于AHB总线(SRAM等高速外设)
PCLK:用于APB总线(UART等低速外设在这个总线上)
与MPLL相关的寄存器:
LOCKTIME寄存器:
MPLL启动后需要等待一段时间(Lock Time),使得其输出稳定。位[23:12]用于UPLL,位[11:0]用于MPLL。使用确省值0x00ffffff即可
CLKDIVN:
用来设置FCLK:HCLK:PCLK的比例关系,默认为1:1:1 经典值设为0x03,即FCLK:HCLK:PCLK=1:2:4(FLCK:HCLK:PCLK),具体设置在三星数据手...
PLL阅读全文
0℃
2011年07月19日
⁄ 嵌入式研究
在很久很久以前玩了一下2440开发板.并且点了下LCD.但后来一年多没碰了,居然又连LED都不会点了,郁闷啊.看来不做笔记是不行的,从现在开始所做过的每一件事,都在这个网站记来好了,再弄个SVN.TNND.我的S3C2440学习笔记SVN传送门,http://svn.isfate.com/s3c2440
拿友善之臂的2440开发板来练习.工具使用的MDK.启动代码用MDK自带的升成.目的是驱动核心板上那四个LED.其他的什么我都不关心,走出第一步要紧.
四个LED使用的是GPB5~8,灌电流,低亮的方式.在MDK里用启动代码配置器设置GPB5~8为输出方式.然后配置内存如下图:
主...
S3C2440gpio阅读全文
0℃
2011年07月19日
⁄ 嵌入式研究
在网上的资料,C51与汇编的混合编程都是一般的在C程序里嵌入汇编.很少提及c语言如何调用汇编程序,在汇编中使用C语言中定义的变量等.现在我整理了一下,在这里详尽地说明如何在汇编中使用C变量与在C与汇编如何互动等. 本文仅适用于Keil C51,戒往(QQ:8926785)总结与归类于 嵌入式社区(http://arm.im).转载请注时原出处,谢谢
要实现C与汇编混合编程,对汇编文件的格式要求很好,好在Keil MDK本身自带有一个升成汇编文件的功能,我们可以利用这个功能来完成我们想要的汇编目标文件,然后修改这个文件中的代码,这样就省去了对...
Keil, 调用汇编阅读全文
0℃
2011年06月29日
⁄ 嵌入式研究
最近几天一直卡在STM32的USART配置.原计划全部用自已写寄存器搞定的,但是发现自已写寄存器的话实在太烦了,资料少不说了,有资料也是叫你直接看固件库.晕.好,那就用固件库吧.
使用固件库配置IO的时候,我将TX的模式配为开漏输出.结果一直发送不了数据,之前我一直找不到原因,在这里还曾卡住了好几天,甚至还将固件库给升级到3.5版本,还是无果.最后没办法,把ST的例程拿来一字一句地对比,最后才把IO改为GPIO_Mode_AF_PP,果然.神奇地PC端收到数据了!
经过分析得出,原来开漏输出与那个复用开漏输出是有区别的!.开漏输出只是...
STM32, 管脚复用阅读全文
2℃
不知不觉间.已经来上海工作了一年多了,幕然之间觉得在这一年多时间里每日都是在昏昏沉沉中度过.上班,下班,上网,睡觉.日复一日,月复一月.直到今天想写一个小小的51单片机程序我才发现-我竟然连如何定义端口都忘了.唉.我真的老了么.......
不多说了:
1
2
3
4
5
6
7
8
9
10
11
12
/* 定义管脚编号 定义好之后可以直接这样使用:bee= =1 ; */
sbit beep=P1^6;
sbit sela=P2^4;
sbit selb=P2^5;
/* 定义一个SFR寄存器: 定义好的寄存器,编译器在产生汇编的时候是直接读写内存 */
sfr isp_data=0xe2;
sfr isp_a...
C语言, 嵌入式阅读全文
0℃
2011年03月23日
⁄ 嵌入式研究
使用串口的中断方式接收,查询发送完成标志.字符串的发送是使用固定的长度方式,没有使用 "\0".因为51的内存太小,如果字符串太长就完了. 详见程式如下:
#include <reg51.h>
#define string_len 17 //数据长度
unsigned char inbuf[string_len];
unsigned char count;
bit read_flag= 0 ;
void init_serialcomm( void )
{
SCON = 0x50; //串口方式1,允许接收
PCON |=0x80; //波特率加倍
TMOD = 0x20; //定时器1工作方式2自动重装
TH1= 0xFD;//...
51MCU, 串口, 字符串阅读全文
0℃
2009年12月01日
⁄ 嵌入式研究
臺資黑工廠里寫的,字體為繁體,我也懶的轉換了,反正看的人也不多..
個人理解信號量的作用:任務之間同步的標識,或是對共享資源操作的一個鎖匙(MS有更強大的互斥型的信號量).總之不管那么多,一個任務可以等待一個信號量.任務或是中斷可以發送信號量,等待信號量的任務在收到信號量的時候就繼續運行.可以多個任務同時等待一個信號量,但只有優先級最高的任務得到信號量并執行.中斷不可使用信號量.
簡單的信號量應用
一:先在OS_CFG.H中把OS_SEM打頭的幾個全部定義為1;OS_MAX_EVENTS為所有的事件數量(包括消息隊列等),定義...
ucos, 信號量阅读全文
0℃
呃... :shock:
这个……
我有头像了八戒看看把 :mr
晕 跑日本去了 又跳墙。。。
八戒加油哈 :evil:
认命吧,谁让生在中国呢
用过16.0,不知16.5的
:mrgreen: 我来看看