匡帅宇 2022-10-11 20:49 采纳率: 66.7%
浏览 72
已结题

AT32F4串口通信上位机接收不到

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

按照标准库写的 在电脑上接收不到输入 不知道为什么了

用代码块功能插入代码,请勿粘贴截图
 crm_periph_clock_enable(CRM_GPIOC_PERIPH_CLOCK,TRUE); 
       crm_periph_clock_enable(CRM_IOMUX_PERIPH_CLOCK,TRUE);
       crm_periph_clock_enable(CRM_UART4_PERIPH_CLOCK,TRUE);
       crm_pll_config(CRM_PLL_SOURCE_HICK, CRM_PLL_MULT_18,CRM_PLL_OUTPUT_RANGE_LE72MHZ);
     gpio_init_type gpio;
   gpio.gpio_pins=GPIO_PINS_10;
    gpio.gpio_mode=GPIO_MODE_MUX;
    gpio.gpio_out_type=GPIO_OUTPUT_PUSH_PULL;
    gpio.gpio_pull = GPIO_PULL_NONE;
    gpio.gpio_drive_strength=GPIO_DRIVE_STRENGTH_MODERATE;
      gpio_init(GPIOC,&gpio);
     gpio_init_type gpio1;
  gpio1.gpio_pins=GPIO_PINS_11;
    gpio1.gpio_mode=GPIO_MODE_INPUT;
      gpio_init(GPIOC,&gpio1);
    
    usart_init(UART4, 115200, USART_DATA_8BITS, USART_STOP_1_BIT);
    usart_parity_selection_config(UART4, USART_PARITY_NONE);
    usart_enable(UART4, TRUE);
    usart_transmitter_enable(UART4, TRUE);
    usart_receiver_enable(UART4, TRUE);
    usart_data_transmit (UART4, 0x88);


运行结果及报错内容

在上位机上就收不到0x88

  • 写回答

1条回答 默认 最新

  • zhbi98 2022-10-12 15:04
    关注
    1. 首先需要确定 UART4 对应的 GPIO 口是否定义错误,或是否开启复用模式复用为 USART 的引脚。
    2. 确定 USB TTL 转串口工具是否损坏,可以将 USB TTL 转串口工具 RX 与 TX 引脚使用杜邦线短接,将 USB TTL 转串口工具插入到电脑打开串口助手发送数据,如果串口助手接收到的数据和发送数据相同则 USB TTL 转串口工具没有损坏。
    3. 注意 USB TTL 转串口工具 RX,TX 与单片机 RX,TX 需要交叉相连。
    4. 如果以上都正常那就是代码问题。
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月20日
  • 已采纳回答 10月12日
  • 修改了问题 10月11日
  • 修改了问题 10月11日
  • 展开全部

悬赏问题

  • ¥20 Apache poi使用问题
  • ¥21 matlab怎么求时域信号的二阶导数
  • ¥15 判断两个表是否完全相同
  • ¥15 java map类型数据格式,如何快速通过前缀匹配元素
  • ¥15 stc12c5a60s2、QMC5883L、LCD1602组合测量磁场所需程序
  • ¥20 Win11测试yolov4,“找不到nvcuda.dll”怎么办?
  • ¥15 simulink绘制bode图
  • ¥15 php_network_getaddresses: getaddrinfo failed: Name or service not known
  • ¥15 用msg发消息出现的问题
  • ¥15 unity3d机械臂