gdszzyq
发表于 2021-5-11 14:17
lyjian 发表于 2021-5-11 12:04
这种问题不用想都知道是软件自身的问题。
你见过哪个8位芯片不是只有8位移位操作的?我们能做24位移位操作 ...
我是没想到是8位芯片这个问题,但就算这样,我程序里的24位移位指令编译器也会把它翻译成8位指令,照理说我虽然用了24位移位操作应该也没问题,更离奇的是为什么会影响到定时周期?
liubinghui
发表于 2021-5-11 15:13
全球最牛姚大神,广告我第一。
lyjian
发表于 2021-5-11 16:08
gdszzyq 发表于 2021-5-11 14:17
我是没想到是8位芯片这个问题,但就算这样,我程序里的24位移位指令编译器也会把它翻译成8位指令,照理说 ...
这要看你的软件怎么写才知道原因。
eldiy
发表于 2021-5-11 16:41
七八年没用STC了,这里天去网站看了几款符合要求的大了电话问销售,加了Q后发消息问货源,价格又不回爱理不理,后来另外联系了一个销售有现货报的价格是标价的5倍。STC是学ST嫌客户太多了要拱手相让一些出去。
逍遥派掌门
发表于 2021-5-12 11:49
gdszzyq 发表于 2021-5-6 16:52
还有对32位的变量进行移位操作也会出现莫名的问题,当变量值超过65536时就会出现程序好像跑飞一样,但实际 ...
加入数据类型的限制,不要让数据溢出了。
gdszzyq
发表于 2021-5-12 16:51
逍遥派掌门 发表于 2021-5-12 11:49
加入数据类型的限制,不要让数据溢出了。
这个变量才6万多出问题,离溢出差远了
William1994
发表于 2021-5-12 21:43
gdszzyq 发表于 2021-5-12 16:51
这个变量才6万多出问题,离溢出差远了
c语言标准里面有个概念 叫 整型提升。
而c语言标准对整数的建议是可以为cpu的最宽寄存器的宽度。keil c51里面的int是16位的,最大值好像也就是几万。
你要定义个32位的数才能移动24位还有内容。默认的类型只能提升到整数。
William1994
发表于 2021-5-12 21:46
lyjian 发表于 2021-5-11 00:41
不管1T还是4T,指令的操作都是一样的:取指=>译码=>执行。
1T采用的是流水线结构,当前指令在译码时同时取 ...
你的意思是 执行 的时候读-计算-写 这三个子过程一拍时钟就完成了?
逍遥派掌门
发表于 2021-5-13 08:25
gdszzyq 发表于 2021-5-12 16:51
这个变量才6万多出问题,离溢出差远了
32位的数据,需要移位 6万次才溢出吗?
xdqfc
发表于 2021-5-13 11:12
逍遥派掌门 发表于 2021-5-13 08:25
32位的数据,需要移位 6万次才溢出吗?
翻手给个赞。
gdszzyq
发表于 2021-5-13 17:12
逍遥派掌门 发表于 2021-5-13 08:25
32位的数据,需要移位 6万次才溢出吗?
我有说移位6万次吗
jackyhuang1988
发表于 2021-5-13 17:28
现在的单片机,设计成熟得跟什么一样,哪有那么多BUG。基本是你的使用问题而已
lyjian
发表于 2021-5-14 16:37
William1994 发表于 2021-5-12 21:46
你的意思是 执行 的时候读-计算-写 这三个子过程一拍时钟就完成了?
这只是一个指令执行的大概步骤,不用纠结细节。
我不是芯片设计者,每一步具体会做什么不清楚。
kcfoo1
发表于 2021-5-20 17:42
hwpga 发表于 2021-5-10 20:40
STC8G是Y6核心对吧。
如果老妖用Y6核心做3款,
分别是现在的STC8G 1T
指令执行周期和频率应该没有多大关系,主要还是看内部总线的构架,如果采用的是流水线式的总线方式存取指令,肯定是要等到上一条指令执行完才执行下一条,现在大部分单片机都采用的是并行取指的总线构架,执行指令的同时已经把下一条指令给取出来了,说白了就是各个外设之间和CPU通讯都有专用的总线,以前51的都是只用一条总线,所有的操作都是经过这条总线和CPU通讯,反正就是为了省钱马路修得太窄了,而且只有一条,像pic,avr这些8位机它们的总线都是16位的,arm这些32位的都是各个外设都有自己总线的,
gx_huang
发表于 2021-5-21 16:25
上面有人在讨论MCU的功耗问题,从硬件角度,其实是很简单的问题。
无非是单位时间内,有多少个门电路的输出逻辑变化了,MCU的架构很好,尽量少的门电路变化逻辑,自然省电了。
CMOS,静态电流几乎可以忽略,每个门电路都有分布电容,电平变化一次,消耗的能量就是这个分布电容的充电放电能量。
zhangjiyun125
发表于 2021-5-21 16:30
考虑下国人的芯片吧
gx_huang
发表于 2021-5-21 16:31
要想省电,降低电压,减少分布电容,减少主频,减少参与的门电路数量。当然,有些是矛盾的,成本效率性能兼顾才行。
diedmen
发表于 2021-5-21 16:39
coody 发表于 2021-4-15 09:37
不是BUG,设计就是如此的。由于寄存器的空间越来越少,所以增加的Timer2 Timer3 Timer4只能用简化的形式 ...
coody,我在大虾群里问你找个便宜的国产运放,你都不上QQ了吗?天天在这冲浪
coody
发表于 2021-5-22 16:55
diedmen 发表于 2021-5-21 16:39
coody,我在大虾群里问你找个便宜的国产运放,你都不上QQ了吗?天天在这冲浪 ...
我不大喜欢社交软件,我已经很久没用过QQ了,微信也是为了支付而申请的。
3peak是国产的吧?你可以看看。
lyjian
发表于 2021-5-25 20:52
以恶心为美的STC更新规格书了。