虚拟串口助手的下载以及串口助手的下载
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