为了实现固件库的参数检查,打开USE_FULL_ASSERT宏,并实现assert_failed函数,然后发现所有的assert_param函数处被警告“illegal character encoding in string literal”。于是到处找原因,最后发现原因是项目路径中有中文,__FILE__中便有了所谓的”ilegal character“所致。改到全英文路径解决了该问题。
这是我在网上找的答案给你参考一下
问题已经解决了,使用UART通讯时,“字符串”内的值得进行一次强制类型转换转化成为 USART1_printf(USART1, (uint8_t *)("This is a demo!"));类型的,之所以报错,还是因为实参与形参的类型不匹配造成的,另外使用汉字确实要报的,所以建议使用wprintf()函数进行汉字的输出,这样问题就解决了,多谢大家了啊!