野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15459|回复: 4

USART串口的发送和接收

[复制链接]
发表于 2017-3-10 17:13:26 | 显示全部楼层 |阅读模式
本帖最后由 ywtywt11730 于 2017-3-10 17:39 编辑

USART 接收一个数据,对这个数据进行运算(加减乘除)之后成另一个数据 如何将运算前和运算后的转换成十进制的数据都显示在串口调试助手上
回复

使用道具 举报

发表于 2017-3-10 17:45:05 | 显示全部楼层
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-10 17:50:15 | 显示全部楼层
本帖最后由 ywtywt11730 于 2017-3-11 10:10 编辑

我知道这个 但是我要说的是在串口调试助手上显示 不点十六进制发送和接收就会乱码 点了出现十六进制的数据 而我想显示的数据是十进制的

图片中输入1 按十进制要输出20  十六进制输出14  他输出的14  现在我想显示的是20
2345截图20170310180040.png
2345截图20170311092831.png
2345截图20170311100642.png
回复 支持 反对

使用道具 举报

发表于 2017-3-11 08:39:54 | 显示全部楼层
本帖最后由 wqy_1000 于 2017-3-11 08:45 编辑
  1. int main1(void)
  2. {        
  3.         u8 hex = 0x14; // 20
  4.         u8 num;
  5.         
  6.         num = ((hex/10)<<4) + (hex%10);
  7.         //printf("\n %02X",num);  //
  8.         
  9.         USART_SendData(USART1, (unsigned char) num);
  10.         while (!(USART1->SR & USART_FLAG_TXE));
  11.         
  12.         while(1)
  13.         {
  14.                
  15.         }
  16. }
复制代码

回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-11 09:35:05 | 显示全部楼层

我给的中断函数代码图  但是这样只能发送10以内的 大于等于10的数字就计算结果不对
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-1-15 13:03 , Processed in 0.052767 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表