野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 20338|回复: 9

串口通讯USART的问题

[复制链接]
发表于 2014-10-8 13:34:51 | 显示全部楼层 |阅读模式
[img=990,646]D:\programmer_keil\1.jpg[/img]我的历程打开后,发现显示黄色小三角,但是我编译后,发现并没有error和warning,不知道怎么回事!
回复

使用道具 举报

 楼主| 发表于 2014-10-8 14:01:03 | 显示全部楼层
这是图片,大家多看看!
1.jpg
回复 支持 反对

使用道具 举报

发表于 2014-10-8 15:17:40 | 显示全部楼层
为了实现固件库的参数检查,打开USE_FULL_ASSERT宏,并实现assert_failed函数,然后发现所有的assert_param函数处被警告“illegal character encoding in string literal”。于是到处找原因,最后发现原因是项目路径中有中文,__FILE__中便有了所谓的”ilegal character“所致。改到全英文路径解决了该问题。
这是我在网上找的答案给你参考一下
回复 支持 反对

使用道具 举报

发表于 2014-10-8 19:02:13 | 显示全部楼层
我也不知道怎么回事,我只知道你可以不用管它,它又不影响你程序的运行
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-9 07:44:39 | 显示全部楼层
861398322 发表于 2014-10-8 15:17
为了实现固件库的参数检查,打开USE_FULL_ASSERT宏,并实现assert_failed函数,然后发现所有的assert_param ...

强烈支持,非常感谢哥们
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-9 08:59:13 | 显示全部楼层
861398322 发表于 2014-10-8 15:17
为了实现固件库的参数检查,打开USE_FULL_ASSERT宏,并实现assert_failed函数,然后发现所有的assert_param ...

我修改了路径但是依然显示小三角,不知道为什么原因!
回复 支持 反对

使用道具 举报

发表于 2014-10-9 09:24:21 | 显示全部楼层
zhanghaiw 发表于 2014-10-9 08:59
我修改了路径但是依然显示小三角,不知道为什么原因!

那是因为中文,有中文它就会有这样的警告
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-9 09:42:24 | 显示全部楼层
随风 发表于 2014-10-9 09:24
那是因为中文,有中文它就会有这样的警告

我截图上的第二个小三角并没有中文啊,而且我也是检查了一遍,并不是中文的双引号!
回复 支持 反对

使用道具 举报

发表于 2014-10-9 10:47:10 | 显示全部楼层
不影响实际效果,只是MDK自己的规则问题,至于怎么设置?
百度去吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-9 11:48:54 | 显示全部楼层
问题已经解决了,使用UART通讯时,“字符串”内的值得进行一次强制类型转换转化成为        USART1_printf(USART1, (uint8_t *)("This is a demo!"));类型的,之所以报错,还是因为实参与形参的类型不匹配造成的,另外使用汉字确实要报的,所以建议使用wprintf()函数进行汉字的输出,这样问题就解决了,多谢大家了啊!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 12:41 , Processed in 0.033346 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表