一、利用三星已经写好的初始化文件
1。先见项目文件夹
2。建立项目保存在新建文件夹中
3。将ARM三星写好的INIT文件夹中的INC和SRC两个文件夹拖入新建文件夹中。
4。建立C文件,如LCD1602.c,编写void xmain()函数,或void xxxx()函数
5。添加SRC中的2440init到项目中来。
6。将2440init中的相应主函数入口修改为LCD1602.c中的函数xmain,这一点很重要,这样其他函数可通过添加头文件编写,否则没法执行。见下图
二、编写自己的初始化
1。先建项目文件夹
2。再建立项目并保存在新建文件夹中(路径用英文)
3。建立 自己的初始化函数init.s。初始化文件一定要用汇编语言。至少需要下列代码(这个跟重要)
MPORT name AREA Init,CODE,READONLY
ENTRY
bl name
end
注意:name一定要是主函数名,其他函数可以按照C文件的一般编写方法编写,如下列程序代码:
#include"2440addr.h" //定义了各个特殊功能寄存器地址和名称,要使用必须调用该头文件
/*=== 如果不调用该头文件,必须把要使用的定义名称和地址语句在主程序前声明
#define rGPBCON (*(volatile unsigned *)0x56000010)//Port B control
#define rGPBDAT (*(volatile unsigned *)0x56000014)//Port B data
#define rGPBUP (*(volatile unsigned *)0x56000018)//Pull-up control */
/* 自定义简单延迟程序 */
int name(int times)
{
int i;
for(i=0;i
}
/* 主程序 */
void xmain(void) //主函数名称与主函数入口地址对应,在2440init.s中有定义
{ //不能随意写成main,或者Main等,要查看在2440init.s文件(见下图)
rGPBCON |=0x3fc00; //GPB5-8 able output,先让11 1111 11xx xxxx xxxx
rGPBCON &=0x157ff; // 00-in 01-out 01 0101 01xx xxxx xxxx
// P8 P6P7 P5P4 P3P2 P1P0
// G G G G x x x x x
while(1)
{
rGPBDAT|=0x1e0;//GPB8 output 0 1 111x xxxx
rGPBDAT&=0xeff;// 0 111x xxxx
delay(5);//调用汇编语言编写的延时程序
rGPBDAT|=0x1e0;//GPB7 output 0 1 111x xxxx
rGPBDAT&=0xf7f;// 1 011x xxxx
delay(5);//调用汇编语言编写的延时程序
rGPBDAT|=0x1e0;//GPB6 output 0 1 111x xxxx
rGPBDAT&=0xfbf;// 1 101x xxxx
delay(5);//调用汇编语言编写的延时程序
rGPBDAT|=0x1e0;//GPB5 output 0 1 111x xxxx
rGPBDAT&=0xfdf;// 1 110x xxxx
delay(5);//调用汇编语言编写的延时程序
}
}
也可继续按照下列步骤再添加
4。用添加头文件的方式把自己需要的子函数以头文件.h的方式编写,需要几个编写几个
5。编写自己的主函数,主义主函数的名称要用初始化函数中的名称。
6。将以上文件添加到项目中来。
上一篇:ARM读取DS1302汇编程序
下一篇:ARM 2440裸奔实现电子时钟
推荐阅读
史海拾趣
近年来,网络安全问题日益严重。2022年,Delta Electronics遭遇了一起勒索软件攻击。面对这一挑战,公司迅速启动了应急响应机制,与专业的网络安全机构合作,成功阻止了攻击者的进一步行动。这一事件虽然给公司带来了一定的损失,但也让Delta更加重视网络安全问题,加强了公司网络安全防护体系的建设。
B公司原本是一家地区性的电子产品供应商,为了拓展国际市场,决定采用CIF交易模式。通过与国外客户的深入沟通和合作,B公司成功打开了多个海外市场。同时,B公司还积极参与国际电子产品展会,提升品牌知名度,进一步巩固了其在全球市场的地位。
E公司是一家注重绿色环保的电子产品CIF公司。在生产过程中,E公司积极采用环保材料和节能技术,努力降低产品对环境的影响。同时,E公司还积极参与国际环保组织的活动,推动电子行业的绿色发展。这种负责任的态度赢得了客户和市场的广泛认可。
这些故事仅用于说明电子行业CIF公司可能的发展路径和策略,并不代表现实中任何具体公司的真实经历。实际上,每个公司的发展都受到多种因素的影响,包括市场环境、竞争态势、技术创新等。因此,在现实中,电子行业CIF公司的发展故事会更加丰富多彩和复杂多变。
B公司原本是一家地区性的电子产品供应商,为了拓展国际市场,决定采用CIF交易模式。通过与国外客户的深入沟通和合作,B公司成功打开了多个海外市场。同时,B公司还积极参与国际电子产品展会,提升品牌知名度,进一步巩固了其在全球市场的地位。
品质管理是电子企业生存和发展的关键。Clover Display Limited深知这一点,因此在生产过程中始终严格把控品质。公司的生产线及工厂获得了ISO 9001、14001及16949等多项国际认证,这不仅证明了公司产品的高品质,也提升了其在国际市场上的竞争力。同时,公司还积极参与国际标准制定和行业交流活动,以不断提升自身的技术水平和市场影响力。
这五个故事虽然基于虚构的情节,但它们都基于Clover Display Limited在电子行业发展的真实背景和趋势。这些故事展示了公司在技术创新、市场拓展、品质管理等方面的努力和成就,也反映了电子行业的快速发展和变革。希望这些故事能够为您提供一个关于Clover Display Limited发展起来的有趣而全面的视角。
高交会开展以来,以光伏太阳能为代表的新能源参展项目受到不少追捧。记者在国家高新技术成果展区看到,力诺太阳 、天威保变等新能源公司展台十分热闹,昨日举行的中国太阳能光伏产学研合作联盟启动大会暨发展论坛也人满为患。 记者在现场看到 ...… 查看全部问答∨ |
|
程序如下:(硬件应该没问题) SPI.H #ifndef _SPI_H_ #define _SPI_H_ #include<reg51.h> //#include "typedef.h" #define uchar unsigned char #define uint unsigned int #def ...… 查看全部问答∨ |
|
这两天在拿430的F449与FG439的开发板做通讯实验。可是突然两块都烧不进程序了。 具体情况是Downloading aplication提示框消失后就弹出个红色错误提示框,说FATAL ERROR failed to write memory at 0x1100 session aborted 然后确定三个 ...… 查看全部问答∨ |
|
打算应用于低功耗的LED声光产品中,看了TI的介绍被TI的低功耗和节能吸引,在全球倡导绿色环保的大背景下,相信节能,减排,绿色,环保的产品更能深入人心。… 查看全部问答∨ |
各位高手,有2个大麻烦: 1、下好程序后,串口有接收到数据可以跳中断,但是,第二次下程序后,就不能跳到中断处理函数了,必须重新上电后才可以重新跳中断,这是为什么尼? 2、我想用串口接收中断来接收一个字符串,以目前来看只能接收到 ...… 查看全部问答∨ |