从汇编中调用标准arduino函数

时间:2016-10-30 22:03:30

标签: assembly arduino-uno

我正在尝试学习Arduino Uno的程序集,目前,我正在使用Arduino IDE和.S文件,其中我覆盖了设置和循环功能。我想让Arduino收到一个连续字符并根据收到的字符做一些事情。但是,我似乎无法从.S文件中找到如何调用标准Arduino函数。具体来说,我想调用Serial.begin,Serial.read和Serial.available函数。如果有人能指出我正确的方向,我会非常感激。

修改

我能够从汇编中调用C函数(在这种情况下是延迟函数)并传递参数。现在我已经尝试为#34; Serial.begin(9600)"做同样的事情。以下代码:

.extern Serial.begin
setup:  
  ldi r22, 0b10000000 ; set 9600 as a long for the first parameter
  ldi r23, 0b00100101
  clr r24
  clr r25
  call Serial.begin ; call serial begin
...

我的想法是在寄存器r22:r25中移动9600,因为据我所知,它是第一个参数。我很肯定有更好的方法来做到这一点,但这就是我提出的方式。编译它会产生错误:"未定义引用`Serial.begin'"

如果有人能帮助我,我会很感激。

0 个答案:

没有答案
相关问题