程序中包含打印 发送 以及接收 在线程中调用函数即可应用
适合平台 stm32F103R系列所有芯片
/*
* File : rs485.c
* This file is part of dym project
*
* Change Logs:
* Date Author Notes
* 2018-10-21 zailiy the first version
*/
#include <rtthread.h>
#include "server485.h"
#include "board.h"
#include <msh.h>
#define TXMODE 1
#define RXMODE 0
#define set_server485_tx_rx_mode(mode) \
do \
{ \
rt_pin_write(SERVER485_RE_IO, mode); \
} while (0)
#define SENDBUFF_SIZE 338
static rt_sem_t sem_server485 = RT_NULL;
static struct rt_timer timer_server485;
static rt_device_t DEV_server485;
static rt_uint16_t server485_revc_bytes = 0;
// rs485 接收回调函数,用于统计接收到的字节数
rt_err_t server485_recv_callback(rt_device_t dev, rt_size_t size)
{
server485_revc_bytes++;
return RT_EOK;
}
static

该代码实现了一个基于STM32F103R系列的RS485通信功能,包括设置发送和接收模式,定义了接收回调函数用于统计接收到的字节数,以及使用线程和定时器处理接收数据的超时情况。同时,提供了发送和接收数据的函数。
最低0.47元/天 解锁文章
1476

被折叠的 条评论
为什么被折叠?



