开发环境:野火的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 使用这几个指令,可以看到能够正常的接收和发送数据。 |