下载手机汽配人

请问一下关于ARM的问题,蜂鸣器为何不响?

我用的EASYARM2200,在ADS环境下调试。程序运行也是成功的,第一次蜂鸣器响了,但按下RST按键后,再次运行,蜂鸣器就不响了,请问这是为什么呢?谢谢!
提问者:网友 2018-08-18
最佳回答
按下RST键属于硬件复位,第一次加电属于上电复位,这两者是有区别的. 在BOOT代码里把硬件复位按上电复位来处理就可以了. BOOT代码就是汇编初始化的那段代码,各家的不一样,也有用C写的,这个要你自己去看程序才行.我以前用过MOTO的片子,在DATASHEET上讲过硬件复位和上电复位,才知道两者是有区别的,你只需要把上电复位的那段代码COPY过去就行. 看不到你的代码,所以很难和你说清楚.拷段代码给你参考下,是用MOTO的汇编写的. ;***Is this a Power Up Reset? move.b RSR,d0 ; get a copy of RSR move.b #$ff,RSR ; clear RSR so that it will be correct after next reset move.b d0,d1 ; get a copy of d0 andi.b #$c4,d1 ; Is this a Hard, Loss of Clock or Power-up Reset? bne next ; if so, proceed with full initialization 有一个复位的寄存器,不同的位代表不同复位来源,可以根据它做不同的处理.
回答者:网友
产品精选
搜索问答
还没有汽配人账号?立即注册

我要提问

汽配限时折扣

本页是网友提供的关于“请问一下关于ARM的问题,蜂鸣器为何不响?”的解答,仅供您参考,汽配人网不保证该解答的准确性。