uart中的十进制值

⚠️
你好。。谢谢你来参加论坛。令人兴奋的消息!我们现在正在移动到我们的新论坛平台,将提供更好的功能,并包含在主对话网站的过程。所有帖子和账号都已迁移。我们现在只接受新论坛上的流量-请在//www.xmece.com/support. 我们将在未来几天内修复bug/优化搜索和标记。
4个职位/0个新职位
最后一篇文章
雅苏
离线
最后一次见到:2年1个月前
已加入:2019-01-23 10:26
uart中的十进制值

我想打印相等二进制值的十进制值。如何在uart中打印二进制值?

printf\u byte\u dec函数不工作!!!???

关键词:
设备:
PM\U对话框
离线
最后一次见到:13小时8分钟前
工作人员
已加入:2018-02-08 11:03
你好Jasu,

你好Jasu,

printf_byte_dec()函数的作用是以十进制格式打印字节值。在使用BLE示例时,可以使用arch\u printf()函数进行调试,您可以在十进制、十六进制、字符或字符串之间选择格式。你能给我一个简短的代码片段吗?你的结果是什么?

谢谢,下午好

雅苏
离线
最后一次见到:2年1个月前
已加入:2019-01-23 10:26
电压=(adc_值*5)/1023;

电压=(adc_值*5)/1023;
printf\ u byte\ u dec(电压);
printf_字符串(“\n\r\n\r”);
电阻=((5*(100.0/电压))-100);
Rln=对数(电阻);
温度=(1/(0.001129148+(0.000234125*Rln)+(0.0000000876741*Rln*Rln*Rln));
打印字节(温度);

但uart上什么也没印?

如果我使用printf\u字节,我将得到十六进制值!!

如何解决这个问题?是否可以打印十进制值?

PM\U对话框
离线
最后一次见到:13小时8分钟前
工作人员
已加入:2018-02-08 11:03
你好Jasu,

你好Jasu,

在我之前的文章中,我建议您使用arc\u console.h库中的arch\u printf()API。我开发了sdk5.0.4的ble\u app\u barebone示例,并使用了Pro-DK。让我描述一下我做了什么,并确保你做了同样的配置。

  1. #在da1458x\u config\u basic.h中定义CFG\u PRINTF
  2. 更改fw的uart端口,并将uart\ U TX端口/引脚分配给P04,将uart\ U RX端口/引脚分配给P05(确保您更改的配置位于HW\ U CONFIG\ U PRO\ U DK下,并且该板在HW\ U CONFIG定义中声明)。

#elif硬件配置\u专业\u DK

#定义UART2\U TX\U GPIO\U端口GPIO\U端口0

#定义UART2\U TX\U GPIO\U引脚GPIO\U引脚4

#定义UART2\U RX\U GPIO\U端口GPIO\U端口0

#定义UART2\U RX\U GPIO\U引脚GPIO\U引脚5

如果您有我们的另一个DK,或者您正在使用自定义板,请使用适当的GPIO修改上述定义

  1. 将arch\u console.h文件包含到user\u barebone.c中
  2. 调用arch\u printf()
  3. 将终端的波特率改为115200。

为了打印十进制值,您应该使用arch\u printf()中的“%d”。请检查一些示例代码。

uint8\u t my\u data[3]={10,11,12}//十进制拱形printf(“uint8\u t my\u data[3]={10,11,12}//小数“);arch_printf(“\r\n”);arch_printf(“十二月:%d%d%d”,我的数据[0],我的数据[1],我的数据[2]);arch_printf(“\r\n”);arch_printf(“十六进制:%x%x%x”,我的数据[0],我的数据[1],我的数据[2]);arch_printf(“\r\n”);arch_printf(“\r\n”);uint8\u t my\u data\u hex[3]={0x10,0x11,0x12}//hex arch\u printf(“uint8\u t my\u data\u hex[3]={0x10,0x11,0x12}//十六进制“);arch_printf(“\r\n”);arch_printf(“DEC:%d%d%d”,my_data_hex[0],my_data_hex[1],my_data_hex[2]);arch_printf(“\r\n”);arch_printf(“HEXL%x%x%x”,my_data_hex[0],my_data_hex[1],my_data_hex[2]);

如果你想打印浮点数。您应该遵循以下论坛帖子中描述的过程:

https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bluetooth-low-energy-%E2%80%93-software/floating-point

谢谢,下午好