您是...张工?近来还好吧!<br />呵呵(应该不会是陈工吧)<br />您说的那种方法我试过了,但汇编出来的代码也是nop<br />我现在找出了问题及解决的方法,在赵寒星的《ARM开发工具——ADS原理与应用》第120页:<br />“嵌入式汇编和armasm之间的区别”一点中:<br />嵌入汇编器“不支持LDR Rn,=expr伪指令而是使用MOV Rn,expr指令向寄存器赋值;不支持语句标号表达式,不支持ADR和ADRL伪指令”<br />MOV Rn,expr也就是您说的那种方法,我试过了,不行。<br />我现在的方法是将uint32 ADData[320]定义为全局变量,然后新建一个汇编文件ADRead.s,在该文件开头使用:<br />AREA globals,CODE,READONLY ; 声明代码段globals,只读属性<br /> EXPORT TLC5510_READ ; 可以被外部引用 <br /> IMPORT ADData ; 声明外部变量<br />声明就行了。然后在下面写自己的汇编代码。C程序调用时直接写TLC5510_READ().也就是仿照Startup.s和IRQ.s的写法。不过这已经不像是内嵌汇编了.<br />不知道有没有其它更简单的方法。<br />这是我在做毕业设计时遇到的问题.我现在想获得高速AD的数据,但又没有FIFO,所以想通过汇编来实现.<br />现在毕业设计遇到的问题是频率一高什么信号都乱了.20MHz的晶振接入SmartSOPC的带的AD DA PACK时就连输入电源都成20MHz了(泰克所测),用ARM产生5MHz的PWM作为ADC的CLK时就不会出现这种情况.
|