无 printf 函数液晶无法显示
最近使用 STC32G12K128芯片移植了一个 液晶显示屏,驱动是 ILI9341,遇到个问题,当程序里没有 printf这个函数时,液晶无法启动,在程序里添加上 printf这个子函数后液晶就可以正常显示,老是奇怪了,关键是我根本不需要这个 printf函数,串口也没有初始化。液晶可以正常显示的主程序如下:
液晶无法显示的程序如下:
LCD_Init()完全是按照 DEMO上复制的,LCD_PrintHomePage()显示了一个很简单的界面。
有仿真器吗?可以打个断点测一下,或者加个延时或者串口输出信息看一下,是不是-直在输出信息,导致显示屏来不及显示了
STC32G12K128 发表于 2023-4-10 14:38
有仿真器吗?可以打个断点测一下,或者加个延时或者串口输出信息看一下,是不是-直在输出信息,导致显示屏 ...
现在是加上 printf才能正常显示,删除 printf就不能正常显示 LCD驱动怎么会跟printf有关?printf是操作串口的,LCD驱动是IO操作。 无数的坑告诉我,这种问题一般都是自己的硬件或程序有问题导致的。 梁工 发表于 2023-4-10 15:05
LCD驱动怎么会跟printf有关?printf是操作串口的,LCD驱动是IO操作。
梁工好,以上问题已解决,是因为使用了 LCM中断向量,但是该中断号大于 31但是没有用汇编处理导致的,处理后一切正常了。
深圳国芯人工智能有限公司-工具软件 (stcai.com)
13668840876 发表于 2023-4-17 11:18
梁工好,以上问题已解决,是因为使用了 LCM中断向量,但是该中断号大于 31但是没有用汇编处理导致的,处 ...
嗯,解决就好。 神农鼎 发表于 2023-4-17 11:45
深圳国芯人工智能有限公司-工具软件 (stcai.com)
用小工具拓展后,void LCM_Interrupt(void) interrupt 59中断号改为 59后会有warning提示:MEMORY SPACE OVERLAP,这个告警信息说明拓展成功了么?直接忽略这个警告就可以了么 学习{:4_196:}
页:
[1]