社区
单片机/工控
帖子详情
STM32F4 CAN通讯
MSJ006
2020-09-28 08:50:40
小白求助各位大佬,CAN通讯如何发送小数,目前已知是用几个数据字节去计算组成小数,但不知道具体如何实现,最好能贴出代码,万分感谢!
...全文
27330
4
打赏
收藏
STM32F4 CAN通讯
小白求助各位大佬,CAN通讯如何发送小数,目前已知是用几个数据字节去计算组成小数,但不知道具体如何实现,最好能贴出代码,万分感谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hhhh63
2020-10-08
打赏
举报
回复
直接发送小数,发送代码如下: u8 bufTx[8]; *(float*)bufTx = 1.234; *(flaot*)(bufTx + 4) = 5.678; 发送两个浮点数 接收端 u8 bufRx[8]; // 假设已经收到数据 float f1 = *(float*)bufRx; // 1.234; float f2 = *(flaot*)(bufRx + 4); // 5.678;
zgl7903
2020-09-29
打赏
举报
回复
最简单的方法 按一个约定的比率换算成整数 比如 要发送 3.141, 发送端 (int)(3.141 * 1000) =3141; 接收端 3141/1000.0 = 3.141
壶中日月小
2020-09-29
打赏
举报
回复
一般这些工业通讯没有什么小数之分,都是十六进制或者ASCII码。
十六进制就规定哪几位是小数就可以了,3.141可以是0x03,0x8D,0x8D就是小数部分;
ASCII码就是'3'、'.'、'1'、'4','1'。
Lenged_Zhao
2020-09-29
打赏
举报
回复
1、换成浮点数啊。 2、提高一定换算比例,3.14*100变成314 3、将数值换成字符去传输,比如3.14编程“3”“.”“1”“4”
STM32
F4
CAN1
通讯
源码
STM32
F4
CAN
通讯
源码 详细有备注, 需要可自取。。
STM32
F4
+USBHID双向
通讯
.rar_
STM32
F4
07 USB_
stm32
f4
can usb_
stm32
f4
hi
STM32
F4
07使用USB OTG与PC进行USB
通讯
STM32
F4
的CAN1 CAN2 双CAN收发例子
最简单清晰的例子,主架构如下: int main(void) { /* ST固件库中的启动文件已经执行了 SystemInit() 函数,该函数在 system_
stm32
f4
xx.c 文件,主要功能是 配置CPU系统的时钟,内部Flash访问时序,配置FSMC用于外部SRAM等。 */ NVIC_Configuration(); CAN1_Configuration(); CAN2_Configuration(); while(1) { if(can1_rec_flag == 1) //如果CAN1接收到了一帧数据 { can1_rec_flag = 0; CAN1_WriteData(0x18412345); //以ID为 0x18412345向CAN上发送数据 } if(can2_rec_flag == 1) //如果CAN1接收到了一帧数据 { can2_rec_flag = 0; CAN2_WriteData(0x18412345); //以ID为 0x18412345向CAN上发送数据 } } }
7、
STM32
CAN通信 波特率设置指南1
STM32
的 CAN 波特率计算
STM32
里的 CAN 支持 2.0A,2.0B, 带有 FIFO,中断等, 这里主要提一下内部的时钟应用.bxCAN 挂接
基于
STM32
F4
移植FreeRTOS实现CAN1 CAN2 双向通信例程
本例程基于
STM32
F4
07实现了FreeRTOS的移植,实现了CAN1、 CAN2的双向通信以及IAP的在线升级,但是程序中并不包含IAP过程,仅仅是APP部分,所以有需要的朋友在编译的时候需要对环境做一些设置,否则跑不起来,IAP 的程序会另外上传
单片机/工控
27,375
社区成员
28,769
社区内容
发帖
与我相关
我的任务
单片机/工控
硬件/嵌入开发 单片机/工控
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章