仿真虚拟串口


虚拟串口助手的下载以及串口助手的下载

https://pan.baidu.com/s/1pXGlWOd87o8EEsDDsN6d2g?pwd=KSD1
提取码:KSD1


proteus工程的创建(具体创建过程就不细说了)
1)选择串口COMPIM
2)与单片机的连线(尤其重要的亿点)

COMPIM的 RXD-------连接单片机的RX
TXD-------连接单片机的TX

3)VIRTUAl TERMINAL


VIRTUAl TERMINAL 的RX-----连接COMPIM的 RXD可以看到单片机接收的数据
                                     RX-----连接COMPIM的 TXD可以看到单片机发送的数据

4)COMPIM端口的配置

proteus仿真示意图

虚拟串口的配置
1)虚拟串口的破解,当你下完解压后可以看到以下图片

2)将应用程序安装到自己清楚的位置


3)将Cracked的两个文件复制到你安装位置

直接复制到这个目录下(你打开你的安装目录应该也有这个界面)

4)操作完后你的软件是没问题了,接下来进行虚拟串口的生成

可以看到添加端口(提醒一下仿真中只有1--4,4个串口)


添加的这几个端口记得不能被电脑连接外设占用


当你添加完后虚拟端口就生成了


3. cubemx工程的配置
配置非常简单,只需配置好串口即可
注意串口中断开启


keil代码的编写
仅仅是为了测试的程序,你自己可以按照需求改

/* USER CODE BEGIN Private defines */
#define uchar unsigned char
#define uint  unsigned int
/* USER CODE END Private defines */

/* USER CODE BEGIN Includes */
#include "string.h"
#include "stdio.h"
uchar rx_dat;


/* USER CODE END Includes */


  /* USER CODE BEGIN 2 */
  HAL_UART_Receive_IT(&huart1,&rx_dat,1);
  /* USER CODE END 2 */
  

/* USER CODE BEGIN 4 */
int fputc(int ch,FILE*f)
{
    HAL_UART_Transmit(&huart1,(uint8_t*)&ch,1,1000);
    return ch;
}
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{
    if(huart->Instance==USART1)
    {
        HAL_UART_Receive_IT(&huart1,&rx_dat,1);
        if(rx_dat=='A')
        {
            printf("success\r\n");
        }
        else
        {
            printf("error\r\n");
        }
    }
}

/* USER CODE END 4 */


在main.c中编写代码,我在main.h中添加了宏定义

5. 结果实现
仅仅是为了测试的程序,你自己可以按照需求改


1)当我发送A的时候串口显示的数据是success

2)当我发送其他数据的时候串口显示的数据是error

  • 24
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值