在写LCD的程序,由于函数层数比较多,加上使用了KEIL的字符串处理的库函数,导致出现奇怪的现象。
在函数中定义了一个字符串数组, 是局部变量,存放在栈中。
程序中,修改了这个字符串数组的字符。调试已经可以确定修改成功。
但是只要程序中加上字符串处理函数strcpy 或者 strcat函数, 就会导致字符数组中,的数据混乱。
解决办法:
可以打开.S启动文件,我用的是STM32,所以在startup_stm32f10X_hd.s 的开头,
定义stack_Size 的地方, 把这个值调大。 既可以解决上述问题。