powmien 发表于 2005-3-17 10:58:22

rtos for mega8(Avrx)的问题

各位先进好,我按照之前asnake前辈发表的 rtos for mega8 (AvrX)文章自已玩了

一下,不过在用WinAvr compiler examples时都会出现inp()、outp()的错误,不知

能是否有先进玩过或指点一下,感谢。





c:\avrx\avrx\avr-gcc -c Timers.c -I. -I../avrx -I/avr/inc -Os -Wall -mmcu=atmega8 -g -o Timers.o



Timers.c: In function `__vector_9':

Timers.c:36: warning: implicit declaration of function `outp'

Timers.c: In function `task1':

Timers.c:53: warning: implicit declaration of function `inp'

Timers.c: In function `main':

Timers.c:81: error: `TMC8_CK256' undeclared (first use in this function)

Timers.c:81: error: (Each undeclared identifier is reported only once

Timers.c:81: error: for each function it appears in.)

C:\WINAVR\UTILS\BIN\MAKE.EXE: *** Error 1

Asnake 发表于 2005-3-17 23:50:53

既然提到我,呵呵,还是我来吧,inp()和outp()是AVRGCC废弃了的方式,现在都是直接赋值,就像其它编译器那样。但是为了兼容它之前的程序,还是保留了,所以只是出现了warning,也就是只警告,而不是一个错误,而你这里的错误看上去是几个常量没定义。你再检查一下你的include文档

我很久没动这个了,呵呵,现在是徒有虚名,希望楼主可以把AVRX发扬光大。谢谢支持!

powmien 发表于 2005-3-18 10:47:02

asnake前辈好,感谢你的回答。之前的问题我在hardware.h里面重新宣告TMC8_CK256就解决了。

现在我又遇到小小的问题,我并没有更动code,但是却产生了这样的错误,能再提示我吗?谢谢。



Timers.c: In function `main':

Timers.c:81: warning: left-hand operand of comma expression has no effect

Timers.c:81: error: parse error before ';' token

C:\WINAVR\UTILS\BIN\MAKE.EXE: *** Error 1

Asnake 发表于 2005-3-18 15:21:49

你的问题应该只是普通的语法错误,就是说在TIMERS.C的第81行符号";"的旁边有个错误的字符使你的C不合语法,你查查。
页: [1]
查看完整版本: rtos for mega8(Avrx)的问题