请问大家在 stm32f4 怎样设置,控制 can 发送数据频率为 10Hz?

2020-07-25 17:58:46 +08:00
 jiastar1998
1582 次点击
所在节点    程序员
9 条回复
mason961125
2020-07-25 18:33:51 +08:00
大概你是直接用的 HAL 写的吧...没了解过寄存器的,确实不知道怎么算波特率...
http://www.bittiming.can-wiki.info/
BTW,单纯选定一个波特率也是不行的,里面四个参数都需要对应考虑(如果你需要和别的设备通信的话)。
mason961125
2020-07-25 18:40:08 +08:00
想了想,你也许问的不是波特率。如果不是波特率的话,就定时器中断咯,100ms 触发一次然后发送一次。
jiastar1998
2020-07-25 21:12:36 +08:00
@mason961125 发送数据频率,应该不是波特率,应该是在中断服务函数里
mason961125
2020-07-25 21:20:49 +08:00
@jiastar1998 #3 那你就用定时器嘛,定时器配置好,每次定时中断触发的时候发送一次数据就好了。
yejianmail
2020-07-25 22:31:47 +08:00
看你是标准库还是 hal 库,hal 可以图形界面配置的
ltm
2020-07-25 22:46:18 +08:00
void vTaskFunction( void * pvParameters )
{
/* Block for 500ms. */
const TickType_t xDelay = 500 / portTICK_PERIOD_MS;

for( ;; )
{
/* Simply toggle the LED every 500ms, blocking between each toggle. */
vToggleLED();
vTaskDelay( xDelay );
}
}
ltm
2020-07-25 22:47:45 +08:00
参考这个,STM32F4 是可以直接用 CubeMX 配置使用 FreeRTOS 的
mason961125
2020-07-25 22:49:08 +08:00
@ltm #7 CubeMX 配出来的都是 CMSIS-RTOS 的接口,不推荐直接用 FreeRTOS 的 API 。
jiastar1998
2020-07-27 08:41:03 +08:00
@yejianmail 采用是 HAL 库,使用 cubemx 配置的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/693067

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX