怎么在串口以十六进制发送语句

2019-07-20 09:11发布

我直接在程序中添加语句,printf("7F");串口调试助手会直接打印“7F”,但是将软件的“16进制显示”勾上,会变成“37 45”
但是我要的目的就是勾上“16进制显示”时,串口打印是“7F”。
要用什么语句才行?或者有什么函数可以实现

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
142zjb
1楼-- · 2019-07-20 09:19
142zjb 发表于 2018-3-11 20:32
换了种思路,
char wav[6]={0x7E,0x04,0x03,0x00,0x0B,0xEF};
for(t=0;tDR=wav[t];

终于弄清楚了,这个方法是正确的,我硬件RXD和TXD接错。。。导致只有串口助手能输出,但是根本没输出到模块上
142zjb
2楼-- · 2019-07-20 11:31
 精彩回答 2  元偷偷看……
142zjb
3楼-- · 2019-07-20 14:01
有人用串口传输数据时遇到过这个问题吗
142zjb
4楼-- · 2019-07-20 19:44
 精彩回答 2  元偷偷看……
142zjb
5楼-- · 2019-07-20 21:27
 精彩回答 2  元偷偷看……
142zjb
6楼-- · 2019-07-21 00:51
142zjb 发表于 2018-3-11 20:05
我有个模块需要stm32用串口以“16进制发送”“7E 04 03 00 0B EF”才能使用

换了种思路,
char wav[6]={0x7E,0x04,0x03,0x00,0x0B,0xEF};
for(t=0;t<6;t++)
{
        USART1->DR=wav[t];
        while((USART1->SR&0x40)==0);       
}
串口打印出来的数据需要以“16进制显示”了,但是还是用不了
只能单纯使用串口助手,以“16进制发送”这串,才能使用

一周热门 更多>