qq_26012625 2022-05-19 13:04 采纳率: 0%
浏览 83
已结题

STM32F103的串口通信如何给接收到的数据(整数)+1返回给电脑?

问题遇到的现象和发生背景

img

问题相关代码,请勿粘贴截图
//尝试过多种返回方式
void USART1_IRQHandler(void)
{
    
    if(USART_GetITStatus(USART1,USART_IT_RXNE)==SET)        //接收中断
    {
        res=USART_ReceiveData(USART1);
        while(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == SET);
        //res=GetKey();
        //USART_SendData(USART1,res+1);
        printf("%u", res);
    }
}


u8 RxCounter = 0;//定义计数值
u8    RxBuffer1[10];//定义缓冲区为10
 
void USART1_IRQHandler(void)
{
  if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)//串口接收中断
  {
    USART_ClearITPendingBit(USART1, USART_IT_RXNE);//清除标志位
    RxBuffer1[RxCounter++] = USART_ReceiveData(USART1);
        if(RxCounter>6)//定义接收的字节个数
        {
            RxCounter=0;
        }
        printf("%u", RxBuffer1[RxCounter]);
    }    
}

运行结果及报错内容

串口返回的是一堆混乱的数值。

我的解答思路和尝试过的方法

改变不同的数据类型。

我想要达到的结果

能正确返回值+1。

  • 写回答

2条回答 默认 最新

  • 工控匠 2022-05-19 13:23
    关注

    上位机发送的报文格式有没有?根据格式进行合成数然后加一

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 5月20日
  • 创建了问题 5月19日

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。