初级会员
- 积分
- 149
- 金钱
- 149
- 注册时间
- 2017-7-12
- 在线时间
- 34 小时
|
1金钱
本帖最后由 DWalker 于 2019-5-13 16:03 编辑
按照原子的教程做的,不过用的是cubeMX生成是led灯程序作为基础来移植的,出现了大量警告查不出是什么导致的问题,一直解决不了
警告:printf函数为隐式函数。所以调用到printf的就出现警告,追溯后发现实在FreeRTOSConfig.h文件中的82行中调用了printf函数。FreeRTOSConfig.h文件第82行代码:[mw_shl_code=c,true]//断言
#define vAssertCalled(char,int) printf("Error:%s,%d\r\n",char,int)
#define configASSERT(x) if((x)==0) vAssertCalled(__FILE__,__LINE__)[/mw_shl_code]
警告:
[mw_shl_code=applescript,true]..\FreeRTOS\portable\RVDS\ARM_CM4F\port.c(784): warning: #223-D: function "printf" declared implicitly[/mw_shl_code]
错误指出:port.c文件的483行出现错误,因该是汇编代码,看不懂
port.c文件第483行代码
[mw_shl_code=c,true]mov r0, #configMAX_SYSCALL_INTERRUPT_PRIORITY[/mw_shl_code]
error:
[mw_shl_code=c,true]..\FreeRTOS\portable\RVDS\ARM_CM4F\port.c(483): error: A1586E: Bad operand types (UnDefOT, Constant) for operator ([/mw_shl_code]
|
最佳答案
查看完整内容[请看2#楼]
问题解决,根据报错百度了,发现一篇文章关于port.c文件第483行的报错
而关于printf函数警告的问题,一开始以为没有包含stdio.h文件,但是发现在usart.h中包含了,也查不出什么原因。后来尝试着在FreeRTOSConfig.h中添加了stdio.h就可以了。。。。。不清楚是什么导致的。。。有没有大神帮忙解答一下?
|