c 点滴

来源:互联网 发布:为什么优酷提示没网络 编辑:程序博客网 时间:2024/06/06 03:04

在stm32里面int是有符号数32位,在dsp里面int是16位。

stm32里面,有符号数8位,范围是-128----127,在二进制的存储里面,最高位位是符号位,127存的是0111 1111   在加1就是1000 0000  ,十进制是-128.所以-1就是1111 1111;

问题, u8(无符号数8位,0---255),  1-254=????结果也存在u8里面

答案是3,

计算机里面只做加法,所以254的补码是0000 00010 在加0000 0001 是0000 0011;所以是3


这样stm32的定时器是16位的,最大值是65535,在俩个时刻分别存储cnt,在一个周期内,俩个cnt不用判断谁大谁小,直接用后一个cnt减去前一个cnt。得到的是俩个时间差


spwm读表的时候,可以把表做成2的n次方。这样就可以不用管counter的溢出了,比如用了256个点的正弦表,counter++;把counter做成u8就够了,不用判断表是否溢出

原创粉丝点击