qq_58813490 2023-04-24 02:57 采纳率: 75%
浏览 16
已结题

这个if里面的printf不能运行

img

代码烧录以后串口助手发送十个A能让电平翻转接受发送的十个A,输入其他的字符不能翻转但是能接受发送的字符,但是输入十个B以后串口助手不能接受到数据,并且以后发送任何字符都收不到数据了(十个A也不能翻转电平),我一步一步试过,只要这个if里面出现printf就会发生这种现象,其他地方都没问题。

#include "main.h"
#include "tim.h"
#include "usart.h"
#include "gpio.h"
#include "string.h"
#include "stdio.h"
COLOR_RGBC rgb;
COLOR_HSL  hsl;
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
uint8_t TCS34725_GetRawData(COLOR_RGBC *rgbc);
uint8_t TCS34725_Init(void);
uint8_t aTxBuffer[] = "HelloWorld";
uint8_t A[]={"AAAAAAAAAA"};
uint8_t B[]={"BBBBBBBBBB"};
int n,t;
#define COUNTOF(__BUFFER__)   (sizeof(__BUFFER__) / sizeof(*(__BUFFER__)))
#define TXBUFFERSIZE                      (COUNTOF(aTxBuffer) - 1)//
/* Size of Reception buffer */
#define RXBUFFERSIZE              TXBUFFERSIZE    uint8_t aRxBuffer[RXBUFFERSIZE];//
__IO ITStatus UartReady = RESET;//
void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart)
{
    UartReady=SET;//
}
//
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{ 
  n=memcmp(B,aRxBuffer, sizeof(B));
    t=memcmp(A,aRxBuffer, sizeof(A));
    if(n==0)
            {
   
    printf("R=%d G=%d B=%d C=%d\r\n", rgb.r, rgb.g, rgb.b, rgb.c);
    HAL_Delay(1000);
}
    else if(t==0)
    {
        TCS34725_GetRawData(&rgb);
        HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_1|GPIO_PIN_2);
    }
    else {}
        UartReady=SET;
//
}


  • 写回答

2条回答 默认 最新

  • 於黾 2023-04-24 08:17
    关注

    你想显示信息,就要把信息从串口输出
    或者你外接了屏幕,可以写代码从屏幕输出
    printf是控制台打印指令,单片机不知道怎么打印,你调用它肯定死机了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月2日
  • 已采纳回答 4月24日
  • 创建了问题 4月24日

悬赏问题

  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加
  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测