一个c获取大文件字节数若大与8位,怎么取

can总线怎么发送多于8个字节的数据? - STM32/STM8技术论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
can总线怎么发送多于8个字节的数据?
助理工程师
10:09:12  
can总线怎么发送多于8个字节的数据?谁有多机can通信的源代码?
助理工程师
16:36:43  
CAN一帧数据最多八个字节数据,所以当发送数据大于8个字节时,拆成多帧来发。当用CAN连续发数据时,需要先判断是否有空邮箱,或者加延时也行。加延时的已调通
助理工程师
09:21:21  
PCB在线计价下单
板子大小:
板子数量:
PCB 在线计价
CAN一帧数据最多八个字节数据,所以当发送数据大于8个字节时,拆成多帧来发。当用CAN连续发数据时,需要先判断是否有空邮箱,或者加延时也行。加延时的已调通
加延时的话确实可以,但是有一个问题是发送的同时还有其他优先级更高的发的话,怎么办,这时会不会出现数据没有发出去,我的想法是用发之前判断是否有空的邮箱,有的话发送,没有就等待,直到有空的邮箱把数据发出去为止
助理工程师
12:41:46  
CAN一帧数据最多八个字节数据,所以当发送数据大于8个字节时,拆成多帧来发。当用CAN连续发数据时,需要先判断是否有空邮箱,或者加延时也行。加延时的已调通
& & & & & & & &
//& & & & & & & & & & & & CAN1_Send_Msg(CAN6_DATA,8,0x0101);
//& & & & & & & & & & & & CAN1_Send_Msg(CAN5_DATA,8,0x0101);
//& & & & & & & & & & & & CAN1_Send_Msg(CAN4_DATA,8,0x0101);
//& & & & & & & & & & & & delay_ms(1);& && && && && && && && && & //因为发送只有3个邮箱,所以发送3帧数据后要加延时
//& & & & & & & & & & & & CAN1_Send_Msg(CAN3_DATA,8,0x0101);
//& & & & & & & & & & & & CAN1_Send_Msg(CAN2_DATA,8,0x0101);
//& & & & & & & & & & & & CAN1_Send_Msg(CAN1_DATA,8,0x0101);
最好是每发送3帧加一个延时
09:37:43  
发送邮箱有三个,发送完之后加延时就行
11:50:38  
一次多发几个帧不就完了
助理工程师
12:57:18  
一次多发几个帧不就完了
连续发3帧以上&&对方收不到3帧之后的数据,后来加延时实现了
08:03:11  
目前我也遇到这样的问题,多贞在发送时遇到优先级高的需要发送了,优先级低的肯定需要退出。等待优先级高的发送完成后才能进入再次发送。这需要软件来协调了,目前还没有编译出来。
17:36:17  
楼主解决这个问题了吗?我想做一个发送任意字节的函数??怎么做呢
17:36:20  
楼主解决这个问题了吗?我想做一个发送任意字节的函数??怎么做呢
工程师职场
Powered by
供应链服务
商务及广告合作
Jeffery Guo
关注我们的微信
供应链服务 PCB/IC/PCBA
下载发烧友APP
版权所有 (C) 深圳华强聚丰电子科技有限公司为什么电脑数据一个字节是8位? | 问答 | 问答 | 果壳网 科技有意思
为什么电脑数据一个字节是8位?
为什么电脑数据一个字节是8位?不可以是16位或32位吗?现在大部分都是32位或64位系统,那么把一字节定义成32位或64位可以吗?
NGA论坛著名版主
这个问题其实同类型的很多。每次来回答一遍蛮累的233.首先,你提出的问题1——为什么是8位,这是诞生时候决定,一般来说,可以理解为这个位数最适合诞生时候的情况。你也知道,计算机是一步一步发展来的,规范是一点点制定的。很可能当时人们觉得1位、2位、4位记录都不够,16位、32位记录太浪费,就取了最合适的8位。我不能保证8位一定是那么来的,但很多数量值的取值的确是那么来的,我猜测8位也一样。问题2——可以是16位、32位么。完全可以,但不是主流规范,所以得不到主流的支持。很显然,一个规范定制了,如果没有什么特别的理由,大部分人倾向于不改。改动需要很大的代价——比如怎么兼容以前的,怎么在更新换代时做到横向不同规范的兼容等等……如果一个规范目前没有完全不使用的情况,是不会轻易修改的。
(C)2017果壳网&&&&京ICP证100430号&&&&京网文[-239号&&&&新出发京零字东150005号&&&&
违法和不良信息举报邮箱:&&&&举报电话:VB上位机如何获取一个字节的每个位是0还是1
作者:瑞生
阅读:3,920次
瑞生网版权所有
在单片机配合上位机的工程项目中,经常需要用到字节的每个位。如题,上位机如何获取一个字节的每个位是0还是1?这里有一种方法,透露给大家。我们知道,一个字节是8个位,每个位不是0就是1。
例如,单片机控制8个继电器,用一个字节的8个位的0和1来表示继电器的开和关,1表示断开,0表示吸合,即就代表第3个继电器断开。单片机通过串口发送一个字节给上位机,那么上位机如何知道每个位是0还是1呢?
这里以VB程序为例,其它上位机软件算法是通用的。
Dim a As Byte
'定义一个字节a
Dim buf(7) As Byte
'定义一个数组,共8个字节
用a获取到需要拆分位的字节
For I = 7 To 0 Step -1
'I从7到0,递减
If a / (2 ^ I) &= 1 Then '如果a除以2的I次方大于等于1,那么
buf(I) = 1 'buf数组的第I个字节就等于1
a = a - 2 ^ I '重新计算a
Else '如果a除以2的I次方小于1,那么
buf(I) = 0 'buf数组的第I个字节就等于0
End If '结束if语句
Next I '下一个I
执行完程序以后,buf[0]就是字节a的位0,buf[1]就是字节a的位1,以此类推。你现在可以带进去一个数验证一下。
推荐:我的微信公众号(扫一扫关注)一个字节由八位二进制组成,其最大容量的无符号十进制为多少
全部答案(共1个回答)
小数点右边第二位上的位权是16的-2次方
()2=(1023)10
是精度问题。数值大小量化后10位的比8位精度更高。
同样你可以用12位或24位表示,在A/D变换后,需要量化,才能使A/D后数字与A/D前的模拟量有固定关系。
b超单上只有一个数据吗?正常情况下都会有些什么数据的啊?
答: IMS在企业发展过程中能起到什么作用呢?
首先,它能够帮助中小物流企业有效降低成本、提升管理效率;
其次,IMS能够帮助中小物流企业显著改善客户服务质量,建立良...
答: 探测实现技术4.1SNMPAgent的实现目前,已经有一些可用的SNMPAgent开发工具包,它们提供一些基本的框架平台,实现了Agent的通用功能,在其基础上...
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区

我要回帖

更多关于 c获取大文件字节数 的文章

 

随机推荐