12 2013 档案
摘要:16进制浮点数与十进制的转化对于大小为32-bit的浮点数(32-bit为单精度,64-bit浮点数为双精度,80-bit为扩展精度浮点数), 1、其第31 bit为符号位,为0则表示正数,反之为复数,其读数值用s表示; 2、第30~23 bit为幂数,其读数值用e表示; 3、第22~0 bit共23 bit作为系数,视为二进制纯小数,假定该小数的十进制值为x; 则按照规定,该浮点数的值用十进制表示为: = (-1)^s * (1 + x) * 2^(e - 127) 对于49E48E68来说, 1、其第31 bit为0,即s = 0 2、第30~23 bit依次为100 1001 1,读成十
阅读全文
摘要:最近遇到一个问题,当我在UCOS里调用系统延时"OSTimeDlyHMSM(0, 0, 0, 10)",程序进入硬件错误中断“HardFault_Handler”中。我开始以为是主堆栈空间嵌套过多导致溢出,于是设置增大了主堆栈,但依然没有解决问题,和一个朋友联系后得知,他写代码很少在ISR中调用系统延时,我开始有了想法,如果说ISR里不允许,那为什么操作系统端没做限制呢?查看相关资料得知,是我对操作系统的不了解。uCOS为了防止主堆栈的用空导致程序跑飞,定义了“OSIntNesting”全局变量。而通过这个全局变量,操作系统能很容易的监控中断的嵌套层次。而想要利用这个样的机
阅读全文

浙公网安备 33010602011771号