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 既然提到我,呵呵,还是我来吧,inp()和outp()是AVRGCC废弃了的方式,现在都是直接赋值,就像其它编译器那样。但是为了兼容它之前的程序,还是保留了,所以只是出现了warning,也就是只警告,而不是一个错误,而你这里的错误看上去是几个常量没定义。你再检查一下你的include文档
我很久没动这个了,呵呵,现在是徒有虚名,希望楼主可以把AVRX发扬光大。谢谢支持! 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 你的问题应该只是普通的语法错误,就是说在TIMERS.C的第81行符号";"的旁边有个错误的字符使你的C不合语法,你查查。
页:
[1]