关于C语言编程
答案:4 悬赏:50 手机版
解决时间 2021-01-16 11:15
- 提问者网友:龅牙恐龙妹
- 2021-01-15 15:25
关于C语言编程
最佳答案
- 五星知识达人网友:行路难
- 2021-01-15 15:53
(65536-1000)/256 == 0xfc
(65536-1000)%256 == 0x18
可能只是因为计算错了追问就差一点点 但步进电机转速慢好多。追答常量表达式是在编译时期计算出来的,也就是说(65536-1000)%256在编译时期就已经被计算成了0x18这个立即数,而不是运行时计算表达式。因此写(65536-1000)%256和写0x18没有任何区别,请检查你的程序是否还有其它处不同,重新编译测试。常量表达式是在编译时期计算出来的,也就是说(65536-1000)%256在编译时期就已经被计算成了0x18这个立即数,而不是在运行时计算表达式。因此写(65536-1000)%256和写0x18没有任何区别。请检查你的程序是否还有其它处不同,重新编译测试。
(65536-1000)%256 == 0x18
可能只是因为计算错了追问就差一点点 但步进电机转速慢好多。追答常量表达式是在编译时期计算出来的,也就是说(65536-1000)%256在编译时期就已经被计算成了0x18这个立即数,而不是运行时计算表达式。因此写(65536-1000)%256和写0x18没有任何区别,请检查你的程序是否还有其它处不同,重新编译测试。常量表达式是在编译时期计算出来的,也就是说(65536-1000)%256在编译时期就已经被计算成了0x18这个立即数,而不是在运行时计算表达式。因此写(65536-1000)%256和写0x18没有任何区别。请检查你的程序是否还有其它处不同,重新编译测试。
全部回答
- 1楼网友:胯下狙击手
- 2021-01-15 19:49
写错了,第二行应该是TL0,试试看
- 2楼网友:鱼芗
- 2021-01-15 18:11
你TH0=(65536-1000)%256算错了吧,不是0x66,是0x16
- 3楼网友:纵马山川剑自提
- 2021-01-15 16:42
TH0 = X0FC;
TL0 = 0x17;
才是你下面那个的!所以速度肯定是不一样的!追问那是晶振误差。速度慢了很多!我想不明白的是难道直接赋值,与变量赋值有区别吗追答TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
用这个公式的话!因为牵扯到一个cpu响应的问题!cpu会先将你的输入的数据计算出来然后再赋值给TH0和TL0所以会有一点延时!
TH0=0xfc;
TL0=0x66;
这种事没有赋值延时的!直接写入!
TL0 = 0x17;
才是你下面那个的!所以速度肯定是不一样的!追问那是晶振误差。速度慢了很多!我想不明白的是难道直接赋值,与变量赋值有区别吗追答TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
用这个公式的话!因为牵扯到一个cpu响应的问题!cpu会先将你的输入的数据计算出来然后再赋值给TH0和TL0所以会有一点延时!
TH0=0xfc;
TL0=0x66;
这种事没有赋值延时的!直接写入!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯