首页 > 其他分享 >C语言方便can通信的10进制转16进制(拆分)

C语言方便can通信的10进制转16进制(拆分)

时间:2023-11-21 15:25:04浏览次数:39  
标签:10 进制 16 int 0x00 uint8 C语言

can通讯时候是把4位16进制 分成两个2位(0xFFFF--->0xFF 0xFF)

就随手写了一个小工具 把十进制转换成两个十六进制 方便修改can报文 如有问题请大家不吝赐教

uint8_t rad[2]={0x00,0x00} ;
void MSG_Trans(int dec)
{
		
		uint8_t HexH= 0x00;
		uint8_t HexL= 0x00;

			for(int i = 0;i<dec;i++)
				{
					
					if(HexL == 0xff)
					{
						if(HexH == 0x0f)
							{

										if(HexH != 0xff)
									{
										HexH += 0x10;
									}
									HexH &= 0xF0;
									
							}
						else
						{
							if(HexH != 0xff)
								HexH += 0x01;
						}
						HexL = 0x00;
							

					
					}
					else
						HexL += 0x01;

				}
		
		rad[0]=HexH;
		rad[1]=HexL;
		
		printf("\r\nHexH:%x\r\n",rad[0]);
		printf("HexL:%x\r\n",rad[1]);
		

}

标签:10,进制,16,int,0x00,uint8,C语言
From: https://www.cnblogs.com/tiandaowang/p/17846625.html

相关文章

  • Modbus 转 PROFIBUS DP 应用场景 PM-160
    1)在网关PROFIBUSDP侧是一个PROFIBUSDP从站,在Modbus串口侧有Modbus主站、Modbus从站、通用模式可选:接口有RS232RS485、RS422三种可选。2)通信方式为半双工:波特率有300~115200bps可选;有/无校验位、奇/偶校验和标记/空格可选。3)网关作为PROFIBUS从站,波特率自适应MaxS12Mbps......
  • 【2023-11-16】弹性之难
    20:00希望并争取获得幸福,这就是生活。                                                 ——列夫·尼古拉耶维奇·托尔斯泰我的一个副部门经理同事下午请假了,他说孩子......
  • error:0308010C:digital envelope routines::unsupported问题解决
    问题描述:报错:Error:error:0308010C:digitalenveloperoutines::unsupported报错原因:因为node.jsV17版本中最近发布的OpenSSL3.0,而OpenSSL3.0对允许算法和密钥大小增加了严格的限制报错详细信息:解决方案:方案1:打开IDEA终端,直接输入Linux&MacOS:exportNODE_OPTI......
  • Codeforces Round 910 (Div. 2) - D
    目录D.AbsoluteBeautyCodeforcesRound910(Div.2)D.AbsoluteBeauty观察可知,只要当交换的\(i\)和\(j\)满足$max(a_i,b_i)<min(a_j,b_j)$或者$min(a_i,b_i)>max(a_j,b_j)$......
  • Linux环境下Python3.10安装
    事件缘起我在Linux服务器(CentOS7.8)安装Python3.10,并替换python软链接为python3之后,yum命令不可用。特此记录一下。完整安装步骤如下:Python3.10安装1.使用yum程序提前安装Python依赖。yuminstallwgetzlib-develbzip2-developenssl-develncurses-develsqlite-devel......
  • 第10题
    fromrandomimportrandomdefprintIntro():print("这个程序模拟两个选手A和B的某种竞技比赛")print("程序运行需要A和B的能力值(以0到1之间的小数表示)")defgetInputs():a=eval(input("请输入选手A的能力值(0-1):"))b=eval(input("请输入选手B的能力值(0-1)......
  • 10
    fromrandomimportrandomdefprintIntro():print("这个程序模拟两个选手A和B的某种竞技比赛")print("程序运行需要A和B的能力值(以0到1之间的小数表示)")defgetInputs():a=eval(input("请输入选手A的能力值(0-1):"))b=eval(input("请输入选手B的能力值(0-1)......
  • 【题解】JLOI2016 - 成绩比较
    【题解】JLOI2016-成绩比较https://loj.ac/p/2026是我会的题,所以感觉难度不如noipT3T4。设\(f_{i,j}\)表示考虑到前\(i\)门课,有\(j\)人被B碾压。转移,设这轮中有\(k\)个原本被碾压的人不再被碾压,则相当于从\(f_{i-1,j+k}\)转移到\(f_{i,j}\)。考虑转移系数,首......
  • 10月杂题
    还是得写写杂题,初三赛季说明这对我是buff啊。这次CSP-S再次检验王者是超级debuff!!!1.P7830[CCO2021]ThroughAnotherMazeDarkly感受一下,每次从根开始绕一圈回去,这个圈会越来越大,直到大小变成\(n-1\)。考虑求出每个边在最后一个圈内入和出的时间(就是欧拉序),你会发现每......
  • 先锋版N100-N200-N305老版本(四个M.2转接板)使用教程
    N100-N200-I3-N305先锋版专用四个M.2接口转接板。4M.2-BIOS下载地址刷机前请确认是不是如下产品,其它主板或拓展板不对情况下勿刷!PS:拓展上面的拔码预留给USB切换的,本次版本不支持USB,所有拔码开关暂时用不上,请勿操作。刷BIOS教程,请安装Ventoy制作U盘启动盘工具,把下载到的BIOS复制......