OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2718|回复: 3

关于指令周期和单片机的一个问题

[复制链接]

16

主题

28

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2016-7-13
在线时间
16 小时
发表于 2016-9-21 20:53:30 | 显示全部楼层 |阅读模式
10金钱
在用KEIL4 为STC15F104E DIP8写C语言程序时出现了一些问题。
从硬件的表现和程序来看,貌似有一些语句它无法执行(猜测)
后来查了原因,貌似是指令周期的问题(不确定)。
请问:C语言中有哪些指令(或者说语句)是单周期的?哪些是双周期的?
单指令周期的单片机能不能执行C语言的多周期指令?

最佳答案

查看完整内容[请看2#楼]

好像没有。 你仿真器不该跳却跳过的,应当就是。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11537
金钱
11537
注册时间
2014-4-1
在线时间
1314 小时
发表于 2016-9-21 20:53:31 | 显示全部楼层
CAN_FilterMode 发表于 2016-9-21 21:54
那么请问:KEIL中有没有能告诉我我的哪些语句被优化了的功能呢?


好像没有。
你仿真器不该跳却跳过的,应当就是。

回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11537
金钱
11537
注册时间
2014-4-1
在线时间
1314 小时
发表于 2016-9-21 21:08:20 | 显示全部楼层

差点以为是ARM,原来是51。

1、只要是合法的C语句,编译平台都能接受;
2、所有C语句最终都要被转换成汇编语言;
3、所有汇编语句都是可以执行的,无论几个周期。
所以,你遇到的问题与C无关,与周期数无关。

可能程序逻辑有问题,或者运行条件达不到,所以不运行;
或者是优化级别设置太高,语句被优化掉了。目测这个可能性大。


回复

使用道具 举报

16

主题

28

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2016-7-13
在线时间
16 小时
 楼主| 发表于 2016-9-21 21:54:59 | 显示全部楼层
xuande 发表于 2016-9-21 21:08
差点以为是ARM,原来是51。

1、只要是合法的C语句,编译平台都能接受;

那么请问:KEIL中有没有能告诉我我的哪些语句被优化了的功能呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-25 03:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表