当前位置: 首页 > news >正文

STM32CubeMX RS485接口使用

一、基本知识

  1. TTL(Transistor-Transistor Logic)

    • 电平范围: 逻辑1对应于2.4V–5V,逻辑0对应于0V–0.5V。
    • 通信特点: 全双工。
    • 特点: 常见于单片机和微控制器的IO电平,USB转TTL模块通常是将USB转为TTL电平的串口模块。
  2. RS485

    • 电平范围: 逻辑1对应于+2V–+6V,逻辑0对应于-6V—2V。
    • 通信特点: 半双工。
    • 特点: RS485采用差分信号传输,通过AB两根线的电压差表示电平信号。由于差分信号的特性,RS485具有较好的抗干扰性能,可以允许多达128个收发器连接在同一总线上。

二、cubemx配置

时钟配置

引脚使能 PD5是LED小灯,高电平有效,PD4是485发送使能,高电平有效,PD4低电平默认接收

输出模式选择推挽输出

 串口一配置,默认即可

 生成工程代码

三、代码

main.c中

 添加串口回调函数

/* USER CODE BEGIN 0 */uint8_t a[10];//空闲中断回调函数,参数Size为串口实际接收到数据字节数
void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size)
{if(huart->Instance==USART1){	  HAL_GPIO_WritePin(GPIOD, GPIO_PIN_4, GPIO_PIN_SET);    //将485芯片设置为发送模式//把收到的一包数据通过串口回传HAL_UART_Transmit(&huart1,a,Size,0xff);HAL_GPIO_WritePin(GPIOD, GPIO_PIN_4, GPIO_PIN_RESET);		//将485芯片设置为接收模式//再次开启空闲中断接收,不然只会接收一次数据HAL_UARTEx_ReceiveToIdle_IT(&huart1,a,sizeof(a));}
}/* USER CODE END 0 */

主函数中添加第一次中断接收

  /* USER CODE BEGIN 2 */HAL_UARTEx_ReceiveToIdle_IT(&huart1,a,sizeof(a));//空闲中断接收/* USER CODE END 2 */

while中进行小灯状态翻转

 /* USER CODE BEGIN WHILE */while (1){HAL_GPIO_TogglePin(GPIOD,GPIO_PIN_5);HAL_Delay(100);	/* USER CODE END WHILE */

 运行效果截图

链接: https://pan.baidu.com/s/1ulrCptVIZOq7dkZ3uFwzZA?pwd=tw5v 提取码: tw5v 

http://www.lryc.cn/news/275193.html

相关文章:

  • ClickHouse(20)ClickHouse集成PostgreSQL表引擎详细解析
  • R304S 指纹识别模块功能实现示例
  • 2、Excel:基础概念、表格结构与常见函数
  • 鱼类识别Python+深度学习人工智能+TensorFlow+卷积神经网络算法
  • ThreadLocal线程重用导致用户信息错乱的 Bug
  • 洛谷——P1143 进制转换
  • linux stop_machine 停机机制应用及一次触发 soft lockup 分析
  • ARM 链接器优化功能介绍
  • 动手学深度学习之卷积神经网络之池化层
  • HackTheBox - Medium - Linux - Ambassador
  • 嵌入式——循环队列
  • 2024.1.7-实战-docker方式给自己网站部署prometheus监控ecs资源使用情况-2024.1.7(测试成功)
  • 20240107 SQL基础50题打卡
  • 阿里云公网带宽出网和入网是什么?上行和下行是什么?
  • eureka工作原理是什么
  • Vue中的事件委托(事件代理)使用方法介绍
  • 「HDLBits题解」Wire decl
  • [MAUI]在.NET MAUI中调用拨号界面
  • Kali/Debian Linux 安装Docker Engine
  • Spring 应用合并之路(二):峰回路转,柳暗花明 | 京东云技术团队
  • SQL Error 1366, SQLState HY000
  • Codeforces Round 893 (Div. 2)(VP-7,寒假加训)
  • MySQL第四战:视图以及常见面试题(上)
  • C语言程序设计——程序流程控制方法(一)
  • torch.backends.cudnn.benchmark
  • SQL Server从0到1——写shell
  • 计算圆弧的起始角度、终止角度和矩形信息并使用drawArc绘制圆弧
  • C++ Trie树模版 及模版题 || Trie字符串统计
  • Linux基础命令@echo、tail、重定向符
  • uniapp:签字版、绘画板 插件l-signature