历史上的今天
返回首页

历史上的今天

今天是:2025年05月14日(星期三)

正在发生

2021年05月14日 | ARM编程注意事项

2021-05-14 来源:eefocus

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端口需接上拉电阻(置高)。


推荐阅读

史海拾趣

FOX [Fox Electronics]公司的发展小趣事

为了进一步扩大市场份额和增强技术实力,Fox Electronics在近年来进行了多起战略并购和合作。公司通过收购具有核心竞争力的中小型企业,快速获取了新技术、新产品和客户资源。同时,Fox Electronics还与行业内的知名企业和研究机构建立了长期合作关系,共同开展技术研发和市场推广。这些并购与合作不仅加速了公司的业务扩张,还提升了其在全球电子行业的影响力。

Hittite Microwave(ADI)公司的发展小趣事

面对物联网、5G通信和汽车电子等新兴技术的快速发展,Fox Electronics敏锐地洞察到未来市场的变革趋势。公司加大了对高频、低抖动和高精度时钟解决方案的研发力度,以满足新兴应用对时钟源的高要求。同时,Fox Electronics还积极布局汽车电子市场,开发适应汽车自动驾驶和车联网需求的专用时钟产品。通过不断创新和布局未来市场,Fox Electronics为自身的持续发展奠定了坚实基础。

请注意,以上故事均为虚构内容,旨在展示电子行业发展的某些方面和可能的趋势。实际上,Fox Electronics的具体发展历程和成就可能有所不同。

Fortiming Corporation公司的发展小趣事

背景:在电子行业,成本控制和供应链管理是企业竞争力的重要体现。

发展:Fortiming不断优化供应链管理流程,与上游供应商建立长期稳定的合作关系,确保原材料的稳定供应和质量可靠。同时,公司还通过技术创新和工艺改进,降低生产成本,提高产品竞争力。这些措施使得Fortiming在激烈的市场竞争中保持了良好的盈利能力。

Dow-Key Microwave Corporation公司的发展小趣事

为了实现公司的国际化发展战略,Dow-Key Microwave积极开展国际合作与交流。公司与全球知名的电子企业和研究机构建立了紧密的合作关系,共同开展技术研发和市场开拓活动。这些合作不仅提升了公司的技术水平和市场影响力,还为公司的国际化发展提供了有力支持。同时,公司还积极参与国际展览和论坛活动,展示公司的最新技术和产品成果,进一步提升了公司的国际知名度和品牌形象。

永源微电子(APM)公司的发展小趣事

随着产品线的拓展和技术实力的增强,永源微电子开始积极拓展市场。公司在台湾、深圳、香港、无锡等地设立了研发与销售中心,通过多渠道的市场推广和品牌建设活动,不断提升“APM”品牌的知名度和影响力。同时,永源微电子还积极参加国内外电子行业的展会和交流活动,与业界同行建立了广泛的合作关系,进一步拓展了公司的市场版图。

Dexter Research Center Inc公司的发展小趣事

作为一家有社会责任感的企业,Dexter始终关注环境保护和可持续发展问题。公司积极采用环保材料和工艺,减少生产过程中的废弃物和污染物排放。同时,Dexter还积极参与社会公益事业,为当地社区和弱势群体提供帮助和支持。这些举措不仅有助于保护环境、推动社会进步,还提升了Dexter的企业形象和品牌价值。

问答坊 | AI 解惑

hrPWM和PWM

在产生正弦信号时,hrPWM和PWM哪种好?   他两的适用范围是不是就是产生信号的频率高低?   哪位高手介绍下它两的区别。…

查看全部问答>

可编程的机器狗

视频 $(\'swf_Wmi\').innerHTML=AC_FL_RunContent(\'width\', \'550\', \'height\', \'400\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', encodeURI(\'http://player.youku.com/player.php/Type/Folder/Fid/ ...…

查看全部问答>

关于用STC单片机的三个中断计时的一个问题

我对外部中断0、1和定时器1做中断,用超声波测距,定时器0做计数器用来计时,每测三个是一组,但是每个中断计数前面的一组第一个总是会影响到后面的一组的第一个(如果实际结果是前面的数小于后面的数),下面是程序,麻烦高手指教,谢谢 #includ ...…

查看全部问答>

8051有一个8位cpu,这句话咋理解?是说里面的寄存器都是8位?

8051有一个8位cpu,这句话咋理解?是说里面的寄存器都是8位?…

查看全部问答>

可以用WINDOWS MOBILE 5.0 SDK FOR POCKET PC 开发 2003的程序吗?

请问各位可以用新版本工具开发就版本OS的程序? 谢谢!…

查看全部问答>

有谁帮我分析一下这个电路

本信息来自合作QQ群:电子工程师技术交流(12425841) 群管理员在坛子里的ID:蓝天白云…

查看全部问答>

ARM脱机编程器1拖4

    ST的ARM应用越来越多,我们经过测试和准备,在6月份左右推出一款一拖四的编程器,请大家多多关注。mxchip@163.com…

查看全部问答>

求大神给个430G2231的倒计时程序!!

求程序啊。。。大神们。。。最好有讲解。。。求发到这个邮箱,菜鸟求助啊。。。 825262080@qq.com…

查看全部问答>

有关sim900a的问题讨论

   你好。我设置了AT+CSCLK=1,允许sim900a进入sleep模式。空闲时,拉高DTR,sim900a进入省电模式。那我的服务器发送数据给sim900a的时候,sim900a是否会自动退出sleep模式,然后接收数据,通过串口发送给我的MCU。    我的服 ...…

查看全部问答>

关于PWM驱动伺服电机

想知道单片机是通过什么芯片驱动的电机。…

查看全部问答>