完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
波特率没设置错,据说是keil的编码问题,但设置成GB2312还是乱码。main.c文件之前在写注释的时候乱码,用文本编辑器从ANSI转成UTF-8了,现在串口输出中文又乱码。文本编辑器又转不了GB2312。
|
|
相关推荐
8个回答
|
|
试试这个,打开你keil的EDIT下拉菜单,最下面有一个configuration,点击它,在editor选项里有一个encoding,这里选择 GB2312
最佳答案
|
|
|
|
809496325QQ替你分忧
|
|
|
|
没理解了是printf输出的是乱码 还是.c文件中的中文是乱码
要设置成2312编码之后才能复制粘贴文本到keil中不出现乱码 已经乱的我也想转过来 正常使用printf要么勾选 usemicrolib选项 要么自己比如说 网上提供的方法 自己做个函数然后再用printf |
|
|
|
1030402679 发表于 2017-5-27 08:49 之前是.c文件的中文乱码,我把文件编码转成了UTF-8解决了。但现在用到printf,输出的中文是乱码。 |
|
|
|
我用printf 可以输出中文啊 貌似就是这个重定向文件 貌似也得勾选microlib 需不需勾选不太了解 //Printf重定向文件! int fputc(int ch, FILE *f) { USART_SendData(USART1, (unsigned char) ch);// USART1 ???? USART2 ? while (!(USART1->SR & USART_FLAG_TXE)); return (ch); } void UART_PutChar(USART_TypeDef* USARTx, uint8_t Data) { USART_SendData(USARTx, Data); while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET){} } void UART_PutStr (USART_TypeDef* USARTx, uint8_t *str) { while (0 != *str) { UART_PutChar(USARTx, *str); str++; } } |
|
|
|
1030402679 发表于 2017-5-30 18:58 谢谢,我弄好了。printf重新定向没问题。就是c文件编码问题,应该把c文件编码转成ANSI,然后编辑器设置成GB2312,这样中文注释和printf输出中文都正常了 |
|
|
|
feier567 发表于 2017-5-30 19:55 能教教我怎么弄吗?我也出现这种问题 |
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
878 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
936 浏览 2 评论
2044 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1145 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1568 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 23:42 , Processed in 0.556407 second(s), Total 55, Slave 48 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号