完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
用STM8作多路AD采样,单次逐个采样,直接用串口打印转换出来的ADC_DRH,ADC_DRL 是对的,但把这两个值赋给变量后,再打印这个变量,数值就变啦,不知是什么原因
|
|
相关推荐
1个回答
|
|
应该是数据类型转换造成的错误,以下内容希望能帮到你。
1、有符号数机器表示 以16位有符号数为例: 对于正数,非常简单,最高位为0,其余15位表示数值就可以了,比如0110 1110 0101 1110即0x6e5e,表示+28254; 对于负数,稍微有点麻烦,以-4为例,首先计算4的二进制补码,即0000 0000 0000 0100按位取反再加1,即1111 1111 1111 1100,也即0xFFFC。再举个例子,以-1589为例,首先计算1589的二进制补码,即0000 0110 0011 0101按位取反再加1,即1111 1001 1100 1011,也即0xF9CB。 那么,在有符号数和无符号数之间进行转换时就要注意这一点,如下所示: int a=-1589; unsigned int b; b=a; 那么b是多少呢?肯定不是1589,而是63947。 2、浮点数表示 无论是单精度还是双精度,都有三个部分: 1》符号位; 2》指数位; 3》尾数位; float遵从IEEE R32.24,double 遵从IEEE R64.53。在几乎所有的8位单片机里,float和double的长度一样,都是IEEE R32.24。 float存储方式如下(高位在前,低位在后): 符号(1位)| 指数(8位)| 尾数(23位) double存储方式如下(高位在前,低位在后): 符号(1位)| 指数(11位)| 尾数(52位) 将一个float数转换成内存存储格式步骤: 以3.25为例,将3.25化成二进制,即11.01,用科学计数法表示,则为1.101*2^1,符号位是0,指数是1,尾数是101;但指数位还要进一步计算,需要用127加上刚才算得的指数1,即128(二进制表示1000 0000), 这样3.25的机器存储格式为:(符号位0)(指数1000 0000)(尾数101 0000 0000 0000 0000 0000),即0x40500000。 再比如10.5,将10.5化成二进制,即1010.1,用科学计数法表示,则为1.0101*2^3, 符号位是0,指数位是3+127=130(二进制1000 0010),尾数是0101, 这样10.5的机器存储格式为:(符号位0)(指数1000 0010)(尾数010 1000 0000 0000 0000 0000),即0x41280000。 那么-10.5呢,只把符号位换成1就OK了,(符号位1)(指数1000 0010)(尾数010 1000 0000 0000 0000 0000),即0xC1280000。 再比如0.25,二进制是0.01,用科学计数法表示,则为1.0*2^-2, 符号位是0,指数位是127+(-2)=125(二进制111 1101),尾数是0, 这样0.25的机器存储格式为:(符号位0)(指数0111 1101)(尾数000 0000 0000 0000 0000 0000)。 IEEE R64.53的指数位只是要加上1023,其它计算不变 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1595 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1531 浏览 1 评论
967 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
679 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1578 浏览 2 评论
1860浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
633浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
512浏览 3评论
522浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
498浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-18 15:25 , Processed in 0.880128 second(s), Total 81, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号