完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
测试GPIOA例程,串口打印不能成功,显示乱码,请问是何原因呢?
根据程序代码里面的逻辑,板子上电后,会立即向串口0打印一条“GPIOA DEMO....”并回车换行,可是文本显示模式 全是乱码。不知道是和原因…… keil软件上的“Target” 选项中已勾选了 Use MicroLIB,如下面的图。板子上面跳线是图中那样的接法,程序肯定是跑起来了,PA口的灯(网口的绿灯是接的PA口PA18)是200ms的闪烁 |
|
相关推荐
9个回答
|
|
|
|
|
|
我测试了【UART0】里面的可以收发,我发什么显示什么,但是就在上电后,应该显示两条
l am uart0! IRQ sucess! 可是只有第一条是正常的,剩下的就是乱码,我试了几个串口调试助手 |
|
|
|
开始以为是keil软件有问题,就重新编译了一次,下载进去就是一样,还是显示乱码
|
|
|
|
那些不是乱码,是十六进制数据
for( i = 0; i < 50; i++ ) buf[ i ] = i; UART0_SendStr(SEND_STRING ); /* 串口0发送字符串 */ UART0_SendByte(0xAA); /* 串口0发送1字节 */ UART0Send_FIFO( buf, 50 ); /* 启用FIFO,发送50字节数据 */ 你是十六进制查看就可以了。 |
|
|
|
恩恩, 是的! 我后来才发现, 没有认真看程序,其实上电后,文本显示的只有SEND_STRING
|
|
|
|
|
|
|
|
#if DEBUG
#define PRINT(X...) printf(X) #else #define PRINT(X...) #endif 例子程序默认没开启调试信息,如果需要,需定义宏 DEBUG 为真,定义位置在头文件包含之前 /* 头文件包含 */ #include #include #include "CH563SFR.H" #include "SYSFREQ.H" |
|
|
|
恩, 现在问题已经解决;
在#include “”的上面采用一个宏定义 #define DEBUG 1 就可以串口打印了 还有一种方法就是 把要打印的那句函数PRINT改成小写的“printf”即可 #define DEBUG 1 从此句可以看出功能就是用“printf”来替换“PRINT” 这样问题就迎刃而解了。 |
|
|
|
应该是使用PRINT不能用吧?printf打印不会有问题的,要使用PRINT需要宏定义DEBUG
|
|
|
|
只有小组成员才能发言,加入小组>>
522 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2904 浏览 2 评论
2400 浏览 1 评论
870浏览 2评论
688浏览 1评论
riscv-none-embed-objcopy: \'PWM_Output.elf\': No such file这个咋解决,
418浏览 1评论
525浏览 1评论
请教一下,Mounriver 编译不成功:找不到库文件,怎么整
814浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 05:04 , Processed in 1.225600 second(s), Total 92, Slave 76 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号