- 3
- 0
- 约9.49千字
- 约 6页
- 2018-01-04 发布于广东
- 举报
76 CESc2006年第一屠垒离嵌入式系镜学末交流会论文集
以128X64LCM移植为例
周融 周顾 黄书汉
浙江工商太学,杭州,310035
摘要奉文夼绍了IO型嚣件的C语言程序移植过程的部分经验。文章首先对MSC5l和ARM7的】o
操作的c代码进行了类比,然后逐步对移植过程覆其重点步骤给出了说明。谊文以实践为背景,具有一定的
参考价值。
关麓词 MSC5l+ARM7,lO控制,c语言,移植
引 言
不少上了32位平台的嵌人式爱好者往往有对MSC5I等8位机上C代码重用的需求。尽管C语言编写
的程序具有诅好的移植性.但因两者基于不同的编程体系,面向5l的代码需要进行相应的修改才能在32位平
台上使用。笔者通过部分移植实践,对相关移植方法作了部分总结。
2 MSC51和ARM7体系的异同
To控制的8051和ARM的C指令比较:标准C语言具有很好的移植性能,但在嵌入式体系的编程中面向
硬件控制发展了若干种的C语言变种.以盈编译环境的支持情况的不同,使得不同的体系存有部分差异。表
l、表2将805]和ARM7的IO控制所涉及的部分C语言实现指令进行r对比。
寝1 c5l的Io指令寝
C51指令 应用举饲 指令动作
#defineP1.o
从口线输出高或低电平 CLK 定义P1.0为CLK;
#definePx.xnameCLK=lt 置PI.0为高输出l
Px.x=I/0I CLK=0l 置PJ.O为低输出I
从口线读取外部电平信号
#definePx.xname
#defineP1.1
LcdBusy定义P1.1为LcdBusy
char char
unsignedRdTmp unsignedRdTmp 定卫无符号字符型的RdTmp寄存器
Px.…1 LcdBu5y=1} 读rl线前先将口线拉高
RdTmp=Px.x‘ RdTmp=LcdBusyI读口线状态到RdTmp
裹2 ARM
C的IO指令寰
ARMC指令 应用举倒 指令动作
从口线转出高或低电乎
CI.K
#define020定义CLK为Px.20
#definenamexn
PlNSEL00
芙闭所有P0rl线第二功能
PINSEL0IOAddress:
IoODlRCLK 置P0.20为输出口
100DIRname
l()oSETCLK 置Po20为高输出
l()。SETname
I【为(:LRCLK) (置P0.20为低输出)
(IoOCLRname)
从口线读取外部电平信号
#definena鼬xn#define O21 21
LedBasy 定义LcdBusy为Px
PlNS
您可能关注的文档
最近下载
- 《中小学综合实践活动课程指导纲要》教育部2017.pdf VIP
- 2025年房地产经纪人补充协议、附件的法律效力与风险防范专题试卷及解析.pdf VIP
- 全科医师考试题全科医师考试题(3)(附全部答案).pdf VIP
- JJG 99-2022 砝码检定规程.docx
- 2025年全媒体运营师平台选择风险评估与危机预案制定专题试卷及解析.pdf VIP
- 金融科技系统中的内存安全漏洞防护技术.pdf VIP
- 2025年拍卖师拍卖标的瑕疵担保责任与相关纠纷处理专题试卷及解析.pdf VIP
- 全科医师考试题全科医师考试题(69)(附全部答案).docx VIP
- 2025年演出经纪行业公平竞争与反不正当竞争专题试卷及解析.pdf VIP
- 大数据环境下交通模型解决方案最新.ppt VIP
原创力文档

文档评论(0)