有一个modbus.c文件定义了modbus协议的基本内容,且UART1B的收发端连485转换之后连接电脑,现在需要通过电脑发送一条指令读取寄存器上的数据。
举个例子:我往modbus协议地址0x0001写入数据SetRegister(0x0001,UA);
之后电脑往UART1B接收端发一条读寄存器指令:01 03 00 01 00 01 D5 CA (保护设备地址,功能码,寄存器首地址,寄存器读取个数,CRC),UART1B接收到一个字节中断一次
void __ISR(_UART_1B_VECTOR, IPL6SOFT) IntUart1BHandler(void) //
{
if (INTGetFlag(INT_SOURCE_UART_RX(UART1B)))
{
INTClearFlag(INT_SOURCE_UART_RX(UART1B));
if (UARTReceivedDataIsAvailable(UART1B))
{
RecBuff[rec1b_cnt ++] = UARTGetDataByte(UART1B);
之后我就不会写了,写入数据SetRegister(0x0001,UA)这条指令我不知道应该放在哪,之后如何经过modbus协议读出寄存器值通过modbus协议的数据包形式发回给计算机
PIC单片机与电脑通过modbus485通信来传输数据
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
悬赏问题
- ¥15 jupyterthemes 设置完毕后没有效果
- ¥15 matlab图像高斯低通滤波
- ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
- ¥15 钢筋实图交点识别,机器视觉代码
- ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
- ¥50 400g qsfp 光模块iphy方案
- ¥15 两块ADC0804用proteus仿真时,出现异常
- ¥15 关于风控系统,如何去选择
- ¥15 这款软件是什么?需要能满足我的需求
- ¥15 SpringSecurityOauth2登陆前后request不一致