嵌入式技术论坛
直播中

李涛

7年用户 1404经验值
私信 关注
[经验]

RS485驱动包的使用

开发环境:野火的STM32f407,rt-thread studio版本是版本: 2.2.6,stm32f4的资源包为0.2.2。工程使用上一篇 rt-thread studio新建stm32f407工程为基础。
硬件配置:查看野火资料确定rs485的引脚和控制脚分别是:485_R:USART2_RX PA3; 485_T:USART2_TX PA2;控制脚:PC0。野火板子需要使用跳线帽进行连接485_R<—>PA3、485_D<—>PA2、C/4-5V<—>5V。外部使用rs485转usb线进行连接,注意usb转RS485线的接头使用的是db9头,根据标准,db9的1脚接板子的rs485的B相(data-),2脚接板子rs485的A相(data+)。
rt-thread studio的配置,添加软件包RS485,添加完还需要修改board.h中的代码,代码修改如下:
、、、

#define BSP_USING_UART2
#define BSP_UART2_TX_PIN       "PA2"
#define BSP_UART2_RX_PIN       "PA3"
、、、
编译正常。
测试方法:使用软件包自带的示例进行测试,取消#define RS485_USING_TEST的注释,同时修改控制脚的宏定义,改为
、、、

#define RS485_TEST_PIN          GET_PIN(C, 0)   //default test ctrl pin
、、、
重新编译,下载。使用finsh输入指令,进行测试。测试步骤:

* create //create rs485 instance
* connect //open rs485 connect
* recv //receive from rs485
* send //send to rs485
使用这几个指令,可以看到能够正常的接收和发送数据。
2.jpg



原作者:YZRD

更多回帖

发帖
×
20
完善资料,
赚取积分