Labview与STM32、新唐通讯系列之MODBUS<5> --STM32实现的freemodbus

[复制链接]
1138|13
手机看帖
扫描二维码
随时随地手机跟帖
東南博士|  楼主 | 2017-6-27 21:39 | 显示全部楼层 |阅读模式
我下载的是freemodbus-v1.5.0,解压后如图所示:

在demo文件夹中有很多移植好的例子,但是没有STM32的,不要紧,我们参考已有的例子来操作就可以了。在demo文件夹下新建一个文件夹,命名为STM32,将BARE文件夹里的文件全部复制过来。
    然后,我们建立一个STM32的工程,我用的是mdk4.72,关于怎么建立工程我就不啰嗦了,在工程里添加modbus 和 port两个文件夹,并在文件夹里添加需要的文件,这些modbus的是在modbus文件夹下面,port的是在刚才新建的那个stm32文件夹下,port.c是我从别的地方弄过来的,里面就是一个开中断和一个关中断的函数,可以不要,我的工程如图:


相关帖子

東南博士|  楼主 | 2017-6-27 21:40 | 显示全部楼层
关键的地方如下:

voidUSART1_IRQHandler(void)

{

    if(USART_GetITStatus(USART1,
USART_IT_RXNE) == SET)

    {      

        prvvUARTRxISR();

        USART_ClearITPendingBit(USART1,
USART_IT_RXNE);

    }



    if(USART_GetITStatus(USART1,
USART_IT_TXE) == SET)

    {

        prvvUARTTxReadyISR();

//     
USART_ClearITPendingBit(USART1, USART_IT_TXE);

    }

}

使用特权

评论回复
東南博士|  楼主 | 2017-6-27 21:41 | 显示全部楼层
也就是说 无论你使用的是 F103 105 407 429 等等

这个都是通用的!

使用特权

评论回复
東南博士|  楼主 | 2017-6-27 21:42 | 显示全部楼层
其实 这个用起来还是非常方便的!

配合组态软件 做图形化的界面 或者 MODBUSPOLL 都可以!

希望大家能够用到工程上面!

使用特权

评论回复
東南博士|  楼主 | 2017-6-27 21:43 | 显示全部楼层
大家注意一下,尤其是 UART0 或者TIM 的时钟、中断的匹配!

配合起来就行了!

很简单的!

使用特权

评论回复
東南博士|  楼主 | 2017-6-27 21:44 | 显示全部楼层
USART_ClearITPendingBit(USART1, USART_IT_TXE);

注意一下 这个上面:
USART_IT_TXE

这里是 TXE,而不是 TC。。。

使用特权

评论回复
16号哨兵| | 2017-6-29 18:06 | 显示全部楼层
赞一个,一直没用过OS,搞这个比较费脑细胞

使用特权

评论回复
yyj8902| | 2017-6-29 18:11 | 显示全部楼层
楼主可以上传源码看看嘛?正用到这方面的知识

使用特权

评论回复
单片机菜菜| | 2017-6-29 19:24 | 显示全部楼层
直接用HAL库的配置软件,直接就配置好rtos,不用进行这些配置和操作。

使用特权

评论回复
Boooooosh| | 2017-6-29 19:37 | 显示全部楼层
单片机菜菜 发表于 2017-6-29 19:24
直接用HAL库的配置软件,直接就配置好rtos,不用进行这些配置和操作。

是freeRtos吗?还是其他RTOS呢?

使用特权

评论回复
東南博士|  楼主 | 2017-7-1 10:27 | 显示全部楼层
不用rots 就是一个 freemodbus 与裸机的例程

使用特权

评论回复
wangjiahao88| | 2017-7-4 13:50 | 显示全部楼层
有主站的吗?

使用特权

评论回复
東南博士|  楼主 | 2017-7-13 14:08 | 显示全部楼层
主站的 我也找不到……

使用特权

评论回复
東南博士|  楼主 | 2017-7-13 14:09 | 显示全部楼层
不过 主站的 正在研究之中!

测试好了之后 我们一起探讨!

安富莱好像有发布的主站的!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

366

主题

6047

帖子

34

粉丝