单片机和串口助手通信,通过单片机发送0x31,但是串口助手一直显示31,怎么回事,求解 10
#include<pic.h>__CONFIG(0x3B32);#defineucharunsignedchar#defineuintunsignedintucharR;...
#include<pic.h>
__CONFIG(0x3B32);
#define uchar unsigned char
#define uint unsigned int
uchar R;
void init()
{
SPBRG=0x67;
// TXSTA=0x24;
RCSTA=0x90;
}
void main()
{
init();
while(!TRMT);
TXREG =0x31;
while(1)
{
}
} 展开
__CONFIG(0x3B32);
#define uchar unsigned char
#define uint unsigned int
uchar R;
void init()
{
SPBRG=0x67;
// TXSTA=0x24;
RCSTA=0x90;
}
void main()
{
init();
while(!TRMT);
TXREG =0x31;
while(1)
{
}
} 展开
7个回答
2013-04-07
展开全部
你的显示器端的数据0x31还存在啊,,不是说PC跑到while里面去了 ,显示器端就没数据了。其实数据还是保存在显示器的内存中的。不信,你在while里面 把 显示器给清零,,31就没有了 。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
意法半导体(中国)投资有限公司
2023-08-25 广告
2023-08-25 广告
单片机是一种集成处理器,通常包含微控制器、存储器、通信接口和其他外设。它们通常用于嵌入式系统,如智能家居设备、汽车电子系统、工业自动化和消费电子产品等。单片机可以通过编程来实现各种功能,如数据处理、输入输出控制、通信等。由于单片机体积小、功...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
void main()
{
init();
while(!TRMT);
TXREG =0x31;
while(1)
{
}
}从程序看,你就发送了一次,所以只显示31H是对的。
{
init();
while(!TRMT);
TXREG =0x31;
while(1)
{
}
}从程序看,你就发送了一次,所以只显示31H是对的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
0x 表示的是16进制 你用16进制显示 当然就是31了 如果你发字符串的“0x31” 就会显示0x31了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
追问
是的,显示31是正常的,但是一直显示就不正常了,应该只显示一次才对,怎么回事?
再加上一个分号。
是的,显示31是正常的,但是一直显示就不正常了,应该只显示一次才对,怎么回事?
再加上一个分号。
更多追问追答
追问
是在while{}里面加个分号吗?我的while以上的程序有问题吗
追答
是的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那不就对了嘛,你发31,收到的是31,有什么问题吗?如果你是说没有0X,因为那表示是16进制,不是数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询