各位老师好,小弟刚刚开始接触STM8,由于感觉单片机这种东西毕竟资源有限,所以想从汇编学起。
对于STVD,有一个小问题想请教一下
模板中生成了一个main.asm,我知道主程序都写在这里,不过我想把一些子程序单独做到一个.asm中,以方便以后的重复使用,不知道该如何来写,如果仅仅把子程序贴过去好像不能成功编译,看了半天的资料,苦于E文不好,好象现在更多的也都是C的资料和例子,所以确实没有思路,感谢各位老师能够指点迷津,告诉小弟子文件的格式,和main中的调用方法,不胜感激,谢谢
你做什么?非得用汇编么?STM的汇编指令集和51不一样.没怎么接触过
也许是我个人比较偏激,感觉使用C会产生太多的冗余代码,因为他们编译的时候大多选择固定的处理和优化方法,而编译器自己并不清楚你真正的应用目的,也就不能针对你的应用作出独有的优化效果,最终的表现实际并不是代码过大,而是执行效率较低,所以在仅仅操作外设的小型程序时,我好像总是倾向于使用汇编,当碰到浮点,滤波等等算法为主的程序时,才会考虑C,毕竟我也没那么NB,这些东西自己知道肯定搞不定的。
记得曾经用AVR产生一个200K,4路的PWM,使用内部8M的RC时钟,具体的应用有点忘了,不过好象是要从什么地方读出一组数据,并分别传递到4路PWM,由于一个计时器只有3个PWM,结果就还有PWM计数器同步的问题,很显然,在8000/200=40个时钟周期中处理这样的数据确实不太宽裕,还有中断的堆取栈。。。所以当时我把C放弃了,只有不太要求时间的时候或者设计复杂运算的时候才考虑他。
回复 板凳 leeman 的帖子
那点效率降低可以忽略不计吧。