野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 21166|回复: 2

使用串口1,电脑发送指定字符串,单片机回复指定的内容,改不出来求大神指点

[复制链接]
发表于 2019-7-17 11:20:55 | 显示全部楼层 |阅读模式
实验结果使用STM32单片机开发板开发USART1串口,波特率为115200,校验位,数据位为8位,停止位为1位,实现通过串口调试助手连接单片机,调试助手发送指定内容单片机能够回复指定内容;:串口调试助手发送:“1234”单片机回复“hello world!”
------------------我是直接在例程库--串口通信--串口1里面的代码改的,有没有大神替我改好发我一下,我从零开始学,说实话有点头疼,很多原理都不懂
--------------文件都给出了在上面帮我改一下吧
---------感激不尽

USART—USART1接发.rar

9.25 MB, 下载次数: 29

回复

使用道具 举报

发表于 2019-7-17 16:32:31 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2019-7-20 12:06:32 | 显示全部楼层
帮你稍微改了一下,可能不是你要的那种发字符串的,改的这个是发字符,串口调试助手会回应相关内容,还有一些bug,有时会发好几遍才响应。
我是初学,能力有限,只能改成这样。下面是改的main.c文件,记得把与中断相关的代码都打开。

[mw_shl_code=c,true]#include "stm32f4xx.h"
#include "./usart/bsp_debug_usart.h"
#include "./led/bsp_led.h"
/**
  * @brief  主函数
  * @param  无
  * @retval 无
  */
int main(void)
{       
        char ch1;       
        char ch2 ='1';
       
        Debug_USART_Config();
        //LED_GPIO_Config();
       
        Usart_SendString( DEBUG_USART, "这是一个调试助手发送指定内容单片机回复指定内容实验\n");
        printf("这是一个调试助手发送指定内容单片机回复指定内容实验\n");
               
        while(1)
        {       
                /* 获取字符指令 */
                ch1=getchar();
         
                if(ch1==ch2)
                {
                        Usart_SendString( DEBUG_USART,"hello world!\n");
                }
                else Usart_SendString( DEBUG_USART,"false\n");

//                switch(ch){

//case '1': LED_RED;
//break;
//case '2': LED_GREEN;
//break;
//case '3': LED_BLUE;
//break;
//case '4': LED_YELLOW;
//break;
//case '5': LED_PURPLE;
//break;
//case '6': LED_CYAN;
//break;
//case '7': LED_WHITE;
//break;
//defaultED_RGBOFF;
//break;
//}
}
}[/mw_shl_code]

串口调试助手.PNG
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-7 01:26 , Processed in 0.046774 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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