ARM编程注意事项

发布者:omega34最新更新时间:2021-05-14 来源: eefocus关键字:ARM  编程  注意事项 手机看文章 扫描二维码
随时随地手机看文章

LPC21XX系列 ARM编程要点:


1. 未使用的引脚初始化时设置为输出。


2. 从掉电模式唤醒后,PLL的恢复必须由软件完成。通常先将PLL激活并等待锁定,然后再将PLL连接。


3. 复位后,存储器加速模块MAM默认为禁止状态。在改变MAM定时值时,必须先关闭MAM。


4. 在编程和操作过程中不允许访问Flash存储器。


5. 3.3V和1.8V电源设计最大电流分别为600mA和300mA,可使用SPX1117。


6. ARM端口做输入输出时与单片机有区别,实例如下:


a) 要将P0.8、P0.9设置为TxD1、RxD1,则PINSEL0=(PINSEL0 & 0xFFF0FFFF)|(0x05<<16)


b) 设置P0.0为高电平,则程序为


PINSEL0=PINSEL0 & 0xFFFFFFFC 设置P0.0为GPIO


IO0DIR= IO0DIR | 0x00000001 设置P0.0方向为输出


IO0SET= 0x00000001 设置P0.0口状态,输出高电平


c) 读取P0.0引脚状态,则程序为


PINSEL0=PINSEL0 & 0xFFFFFFFC 设置P0.0为GPIO


IO0DIR= IO0DIR & 0xFFFFFFFE 设置P0.0方向为输入


PinStat=IO0PIN 从IO0PIN读取P0.0口状态


d) 将八位无符号整形变量Data输出到P0.0~P0.7,则程序为


PINSEL0=PINSEL0 & 0xFFFF0000 设置P0.0为GPIO


IO0DIR= IO0DIR | 0xFF 设置P0.0~P0.7方向为输出


IO0CLR= 0xFF 清零P0.0~P0.7的输出状态


IO0SET=Data Data中为1的位输出高电平


e) 将八位无符号整形变量Data输出到P0.0~P0.7,则程序为


PINSEL0=PINSEL0 & 0xFFFF0000 设置P0.0为GPIO


IO0DIR= IO0DIR | 0xFF 设置P0.0~P0.7方向为输出


IO0PIN= (IO0SET & 0xFFFFFF00)| Data 写IO0PIN,输出数据


7. 关于中断


在处理IRQ中断过程中,IRQ中断默认是被禁止的;


在启动代码中默认是关闭IRQ和FIQ的,如果要使用需要设置CPSR寄存器的I位或F位,这需要在特权模式下处理,最简单的方法是在启动代码中设置;


8. 关于SPI


SPI控制寄存器用来控制SPI时钟,通过SPI状态寄存器的SPIF位可查询数据传输是否完成,SPI数据寄存器用于提供发送和接收的数据字节。


SPI可设置成主机模式或者从机模式。处于主机模式时,SPI时钟寄存器用来控制时钟频率,该寄存器必须在数据传输之前设定。处于从机模式时,该寄存器无效。当设计为从机模式时,其对应的SSEL被选中时才有效。当设计为主机模式时,对应的SSEL端口需接上拉电阻(置高)。


关键字:ARM  编程  注意事项 引用地址:ARM编程注意事项

上一篇:基于Linux平台下的FPGA的ARM驱动开发方法
下一篇:基于Linux操作系统的ARM/DSP多机I2C通信设计方案

推荐阅读最新更新时间:2024-11-13 06:04

基于ARM和uC/OS的嵌入式SMI网络转换器设计与应用
引言 目前,随着互联网和嵌入式系统的高度发展,越来越多的工业测控设备已经将网络接入功能作为其默认配置,以实现设备的远程监控和信息分布式处理。然而,大量工业现场设备尚不具备网络接口。在IP113F光纤收发器监控系统的开发中,下位机通过单片机与光纤收发器的SMI进行通信以实现监控,上下位机通过RS-232接口传输数据。南于串口传输距离短,工作人员每天都要到现场对数据进行检查和诊断,不胜其烦。针对这种情况,有必要设计一个SMI到Internet的数据传输模块,以便对光纤收发器的运行状况作远程监测。 IP113F芯片简介 IP113F芯片是一款具有网管功能、超低功耗的光纤收发器,支持3.3V I/O,主要通过SMI(
[单片机]
基于<font color='red'>ARM</font>和uC/OS的嵌入式SMI网络转换器设计与应用
Avr单片机编程---延迟函数
avr-gcc提供了两个延迟函数,可以在用户的程序中使用,前提--加入avr/delay.h这个头文件: _delay_us(double __us) _delay_ms(double __ms) 而这两个延迟函数在实际工作的时候,调用了另两个函数,位于delay_basic.h中: a, _delay_loop_1(uint8_t __count) b,_delay_loop_2(uint16_t __count) a 函数可以看出,_count的最大值是256,b 函数中_count的最大值是65536。在delay_basic.h中有说明,也可以结合a,b两个函数的具体定
[单片机]
ARM流水灯实验 LPC213芯片
#include config.h #include lpc213x.h void DelayNs(uint32 dly) { uint32 i; for(;dly;dly--) for(i=0;i 5000;i++); } void Left() { uint8 i; uint32 MOVE ; for (i=0;i 8;i++) { MOVE = 1 i; IO0CLR = MOVE ; DelayNs(10); IO0SET = MOVE ; Dela
[单片机]
<font color='red'>ARM</font>流水灯实验 LPC213芯片
研华科技2018医疗设备设计开发技术研讨会圆满结束
  长期为医疗行业提供全面系统集成、软硬件、以客户为中心的设计服务和物流支持的 研华科技 于2018年4月19日在苏州西交利物浦国际会议中心成功举办2018医疗设备设计开发技术研讨会,吸引超过40+专业客户参与本次研讨会互动。下面就随嵌入式小编一起来了解一下相关内容吧。 研华科技2018医疗设备设计开发技术研讨会圆满结束   作为解决方案的优质提供商,研华拥有多款符合医疗行业应用特点的嵌入式主板及核心模块,既有基于Intel, AMD的X86平台,也有基于NXP、IT、Qualcomn的 ARM 平台;同时,研华还提供Windows、Linux、Android等多种操作系统的整合服务。   本次研讨会, 研华科技 主要围
[嵌入式]
从ADS到RealView MDK(MDK ARM)
Keil是业界最受欢迎的51单片机开发工具之一,它拥有流畅的用户界面与强大的仿真功能。而ARM微控制器的开发工具RealView Microcontroller Development Kit (简称为RealView MDK 或者 MDK)将ARM开发工具RealView Development Suite(简称为 RVDS)的编译器RVCT与Keil的工程管理、调试仿真工具集成在一起。 很多嵌入式系统开发工程师对ARM的老版本开发工具ADS非常熟悉,而RealView MDK与ADS相比较,从外观、仿真流程以及内部二进制编译链接工具上都有了不少改进,用法稍有不同。本主的主旨是介绍通用的流程,以及一些注意事项,帮助ADS用户将老
[单片机]
示波器在使用注意事项
经运输、振动或久藏复用时,应先对示波器进行检查调试。 (1)外观检查:面板上各旋钮、开关有无损坏,转动是否正常,熔丝是否完整。 (2)将插头接至220v 50hz电源,打开电源开关,指示灯应发亮。旋转“标尺亮度”钮观察屏幕前坐标的刻度线是否从白光变为红光直至失去亮度。 (3)将“v/cm”开关置于“100v/cm”,“触发极性”开关置于“外”、“辉度”钮顺时针方向旋到2/3处,移动“y轴位移”和“x轴位移”钮,在屏幕上应能看到一光点,且光点能上、下、左、右移动自如,并上、下、左、右皆能移出屏外。 (4)使光点停在屏幕中央,“辉度”钮旋到适度,调节“聚焦”“辅助聚焦”钮,使光点最圆,直径最小。 (5)由“校正信号”系统中的“方波输出
[测试测量]
37.C与汇编混合编程
新建light.c: 修改start.S: 修改Makefile:加light.o 最后make成功,烧写成功。 同样,我们也可以在C函数里调用我们的汇编里面的函数: 修改start.S:把light_led申明为global: 在light.c中被调用: Make编译烧写到开发板:发现灯是可以被点亮的。在C中调用汇编函数成功。 接下来的是在C中嵌入汇编代码,而不是调用: C中嵌入汇编代码: 格式: C内嵌汇编以关键字 __asm__ 或者 asm 开始,包含四个部分的内容,如上图,各个部分用 : 分开,第一部分是必须写的,后面三个部分是可以忽略的,但是分号:不能省略。 汇编语句 输出部分:C
[单片机]
37.C与汇编混合<font color='red'>编程</font>
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved