单片机|STM32F103C8T6下移植ucosiii使用OLED遇到的问题

在ucosiii使用oled遇到的编译报错 【单片机|STM32F103C8T6下移植ucosiii使用OLED遇到的问题】在向STM32F103C8T6移植ucosiii,并打算在0.96寸OLED上显示字符串时,发现移植OLED操作程序后会出现如下报错。
单片机|STM32F103C8T6下移植ucosiii使用OLED遇到的问题
文章图片

??报错信息显示codetab.h(字符库文件)中的F6x8字符数组、F8X16字符数组以及其中的自定义字符数组在程序中存在重复定义。按照之前的处理方法,在主函数的调用中使用extern将字符串数组声明为外部变量,但依旧会报如上的错误信息。
解决办法:
??1、在主函数中不要包含codetab.h文件。只在oled有关的函数文件中包含codetab.h文件。
??2、修改lapp_cfg.h中的任务栈的大小。可以将常规的512修改为128。如下图所示。
单片机|STM32F103C8T6下移植ucosiii使用OLED遇到的问题
文章图片

??经过以上的修改后,重新编译文件,就可以通过了。个人认为有可能是程序栈空间溢出导致的。至于真正的原因可以由诸位在评论区讨论。

    推荐阅读