硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3115|回复: 23
收起左侧

[RL-RTX] stm32f407 采用RTX系统,重复调用一个20ms定时器怎么设置

[复制链接]

1

主题

15

回帖

18

积分

新手上路

积分
18
发表于 2020-9-24 17:35:58 | 显示全部楼层 |阅读模式
各位大神,采用RTX系统,每次到20ms发送一个一包数据,并且重复实现
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107482
QQ
发表于 2020-9-25 00:19:22 | 显示全部楼层
开个任务,相对延迟,设置为20ms
回复

使用道具 举报

1

主题

15

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2020-9-25 11:34:02 | 显示全部楼层
eric2013 发表于 2020-9-25 00:19
开个任务,相对延迟,设置为20ms

大神,RTX 支不支持TIM1这种硬定时器?我怕用任务类型会被打断
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107482
QQ
发表于 2020-9-25 11:59:54 | 显示全部楼层
liu_lin 发表于 2020-9-25 11:34
大神,RTX 支不支持TIM1这种硬定时器?我怕用任务类型会被打断

没问题。

使用RTX,就跟你使用裸机程序一样的,你裸机怎么玩,加上RTX后,继续这么整即可。
回复

使用道具 举报

1

主题

15

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2020-9-29 19:28:35 | 显示全部楼层
eric2013 发表于 2020-9-25 11:59
没问题。

使用RTX,就跟你使用裸机程序一样的,你裸机怎么玩,加上RTX后,继续这么整即可。

  大哥,RTx 系统中我在其他函数send (sock, (char *)buf, len, 0),报文发不出去(sock),这个sock是对的。在另一个函数中调用是可以的(这个函数已经建立连接以及监听了)
回复

使用道具 举报

1

主题

15

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2020-9-29 21:13:52 | 显示全部楼层
eric2013 发表于 2020-9-25 11:59
没问题。

使用RTX,就跟你使用裸机程序一样的,你裸机怎么玩,加上RTX后,继续这么整即可。

connect(sock,(SOCKADDR *)&connetraddr,sizeof(connetraddr));
          int lengg= send(sock, (char *)buf, len, 0);
       
    closesocket (sock);  大神我这有问题吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107482
QQ
发表于 2020-9-30 10:29:42 | 显示全部楼层
liu_lin 发表于 2020-9-29 21:13
connect(sock,(SOCKADDR *)&connetraddr,sizeof(connetraddr));
          int lengg= send(sock, (char *)buf, ...

两个任务里面是操作的同一个sock吗,一个发一个接收,如果是的话,老版的RL-TCPnet不要这么玩。
回复

使用道具 举报

1

主题

15

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2020-9-30 11:22:06 | 显示全部楼层
eric2013 发表于 2020-9-30 10:29
两个任务里面是操作的同一个sock吗,一个发一个接收,如果是的话,老版的RL-TCPnet不要这么玩。

是同一个sock,这样会有啥问题哇。那大神有啥建议,因为我收发可能要在两个任务中
回复

使用道具 举报

1

主题

15

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2020-9-30 11:26:19 | 显示全部楼层
eric2013 发表于 2020-9-30 10:29
两个任务里面是操作的同一个sock吗,一个发一个接收,如果是的话,老版的RL-TCPnet不要这么玩。

大神,要不要给点意见怎么操作
回复

使用道具 举报

1

主题

15

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2020-10-9 16:32:26 | 显示全部楼层
liu_lin 发表于 2020-9-30 11:22
是同一个sock,这样会有啥问题哇。那大神有啥建议,因为我收发可能要在两个任务中

求住大哥,遇到这里瓶颈了?两个任务中,另一任务中调用send数据发布出去
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107482
QQ
发表于 2020-10-9 16:45:22 | 显示全部楼层
liu_lin 发表于 2020-10-9 16:32
求住大哥,遇到这里瓶颈了?两个任务中,另一任务中调用send数据发布出去

同一个socket句柄,两个任务里面都操作,老版的TCPnet不行。

最好一个任务里面处理或者两个任务里面使用不同Socket。
回复

使用道具 举报

1

主题

15

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2020-10-9 17:16:11 | 显示全部楼层
eric2013 发表于 2020-10-9 16:45
同一个socket句柄,两个任务里面都操作,老版的TCPnet不行。

最好一个任务里面处理或者两个任务里面使 ...

我用的是stm32f407 (v5) ,如果V5可以用新版本TCPnet?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107482
QQ
发表于 2020-10-9 17:18:47 | 显示全部楼层
liu_lin 发表于 2020-10-9 17:16
我用的是stm32f407 (v5) ,如果V5可以用新版本TCPnet?

新版RL-TCPnet V7.X网协议栈和物联网教程开始更新,配RTX5和FreeRTOS两版本,更新至第14章(2020-01-19)
http://www.armbbs.cn/forum.php?m ... 5243&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

1

主题

15

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2020-10-9 17:26:22 | 显示全部楼层
eric2013 发表于 2020-10-9 17:18
新版RL-TCPnet V7.X网协议栈和物联网教程开始更新,配RTX5和FreeRTOS两版本,更新至第14章(2020-01-19) ...

好的,我看看学习用下
回复

使用道具 举报

1

主题

15

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2020-10-9 20:12:26 | 显示全部楼层
eric2013 发表于 2020-10-9 17:18
新版RL-TCPnet V7.X网协议栈和物联网教程开始更新,配RTX5和FreeRTOS两版本,更新至第14章(2020-01-19) ...

RTE_Device.h这个头文件出现黄色感叹号?这是啥原因,以前没遇到过
回复

使用道具 举报

1

主题

15

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2020-10-9 20:15:08 | 显示全部楼层
eric2013 发表于 2020-10-9 17:18
新版RL-TCPnet V7.X网协议栈和物联网教程开始更新,配RTX5和FreeRTOS两版本,更新至第14章(2020-01-19) ...

#include CMSIS_device_header 这也找不到文件,楼主。我直接下载的 v5     H7服务端例程
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107482
QQ
发表于 2020-10-9 20:52:46 | 显示全部楼层
liu_lin 发表于 2020-10-9 20:15
#include CMSIS_device_header 这也找不到文件,楼主。我直接下载的 v5     H7服务端例程

QQ截图20201009205140.png





此贴问题就帮你这么做吧,剩下自己研究下。









回复

使用道具 举报

1

主题

15

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2020-10-10 12:33:47 | 显示全部楼层
eric2013 发表于 2020-10-9 20:52
此贴问题就帮你这么做吧,剩下自己研究下。

还得请教一个问题一个服务端例子,硬汉哥 V5-1030_RL-TCPnet实验_高效的事件触发框架(RTX)这个用例中,TCPnetTest函数中第二while建立连接后为啥,3s左右才会进去。不会一直进去吗(如果没收到报文)
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107482
QQ
发表于 2020-10-10 13:49:11 | 显示全部楼层
liu_lin 发表于 2020-10-10 12:33
还得请教一个问题一个服务端例子,硬汉哥 V5-1030_RL-TCPnet实验_高效的事件触发框架(RTX)这个用例中, ...

结帖
QQ截图20201010134918.png
回复

使用道具 举报

1

主题

15

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2020-10-10 14:09:59 | 显示全部楼层

嗯,客户端和服务端已经建立连接了,但是客户端不发数据。建立连接之后 下面收报文while ,是隔了好久才会进去,这是为啥?有点想不明白。我加您qq了,哥麻烦同意,想截图给您看
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107482
QQ
发表于 2020-10-10 14:33:02 | 显示全部楼层
liu_lin 发表于 2020-10-10 14:09
嗯,客户端和服务端已经建立连接了,但是客户端不发数据。建立连接之后 下面收报文while ,是隔了好久才 ...

好。
回复

使用道具 举报

1

主题

15

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2020-10-13 16:17:32 | 显示全部楼层

老师,RTX系统中 os_time_get(),获取到数据怎么转换成ms。os_time_get获取到的是啥哇?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107482
QQ
发表于 2020-10-13 16:46:18 | 显示全部楼层
liu_lin 发表于 2020-10-13 16:17
老师,RTX系统中 os_time_get(),获取到数据怎么转换成ms。os_time_get获取到的是啥哇?

这个是以系统时钟节拍为单位的,我们的例子系统时钟节拍是1000Hz,也就是说这个函数获取的时间单位是1ms。
回复

使用道具 举报

1

主题

15

回帖

18

积分

新手上路

积分
18
 楼主| 发表于 2020-10-14 16:37:00 | 显示全部楼层
eric2013 发表于 2020-10-13 16:46
这个是以系统时钟节拍为单位的,我们的例子系统时钟节拍是1000Hz,也就是说这个函数获取的时间单位是1ms ...

老师,在定时器中断函数是不是不能调用os_time_get();系统时间函数。我调用了出来时间都不对,并且程序异常
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-3 11:19 , Processed in 0.410328 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表