打印
[STM32F1]

测试哪里出问题了

[复制链接]
976|29
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huwr|  楼主 | 2021-4-8 22:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
tc, AI

main()
{
  WDTCTL = WDTPW + WDTHOLD;   
  UCSCTL3 = 0;                              
  UCSCTL0 |= 16 << 8;                     
  UCSCTL1 = DCORSEL_4;                  
  UCSCTL2 = 149;                             
  UCSCTL6 &= ~(XT1DRIVE_3);         
  UCSCTL4 = SELA_0 + SELS_3 + SELM_3;              
                                            
P6DIR = 0xFF;
P6OUT = 0xFF;
P6OUT = 0x00;
P6OUT = 0xFF;
P6OUT = 0x00;

while(1);
}
外部接32768Hz晶振,经过150倍频后,MCLK约为4.9MHz,此时一个指令周期约203ns。
P6OUT = 0xFF;和 P6OUT = 0x00;两句的汇编代码是
mov.b #0xFF, &PCOUT_H 和 clr.b &PCOUT_H
根据手册执行这两句的时间我认为应该是4+4 = 8个时钟周期(约1600ns)。
而示波器上观察输出方波的周期为700ns而我觉得该时间和执行P6OUT = 0xFF; P6OUT = 0x00;两句的时间应该是相同的。

使用特权

评论回复
沙发
zyf部长| | 2021-4-8 22:09 | 只看该作者
你的while(1)循环在这里是延时作用    我感觉应该是延时时间不足

使用特权

评论回复
板凳
huanghuac| | 2021-4-8 22:12 | 只看该作者
这个时钟配置和手册里的是否一致啊?

使用特权

评论回复
地板
yinxiangh| | 2021-4-8 22:14 | 只看该作者
我觉得,肯定是你计算有误,或者那个指令换算不对。

使用特权

评论回复
5
pangb| | 2021-4-8 22:19 | 只看该作者
估计是你测试方法不恰当吧

使用特权

评论回复
6
huanghuac| | 2021-4-8 22:22 | 只看该作者
怎么不使用12Mhz的晶振呢??

使用特权

评论回复
7
huanghuac| | 2021-4-8 22:25 | 只看该作者
以前用的AT89S52是12个周期执行一次指令。

使用特权

评论回复
8
ousj| | 2021-4-8 22:28 | 只看该作者
如果MCLK是8M,则一个时钟周期为1/8微秒

使用特权

评论回复
9
zyf部长| | 2021-4-8 22:31 | 只看该作者
也就是说执行一条指令最多花6*1/8微秒。

使用特权

评论回复
10
bqyj| | 2021-4-8 22:34 | 只看该作者
你用的是IAR软件么,高版本的直接在软件内就可以查看。

使用特权

评论回复
11
huanghuac| | 2021-4-8 22:36 | 只看该作者
iid读取的速度不超过300khz

使用特权

评论回复
12
zhuhuis| | 2021-4-8 22:39 | 只看该作者
最好使用使用高速外部时钟吧。

使用特权

评论回复
13
xxmmi| | 2021-4-8 22:41 | 只看该作者
采用8MHZ的主时钟,一条指令就是125ns

使用特权

评论回复
14
kangzj| | 2021-4-8 22:43 | 只看该作者
30的一个时钟周期=MCLK晶振的倒数。

使用特权

评论回复
15
gongche| | 2021-4-8 22:46 | 只看该作者
一个指令周期=1~6个机器周期

使用特权

评论回复
16
huanghuac| | 2021-4-8 22:55 | 只看该作者

_NOP()是单周期的指令,I/O口赋值是4周期的。

使用特权

评论回复
17
gongche| | 2021-4-8 22:57 | 只看该作者
不要扣这个,没意思

使用特权

评论回复
18
wenfen| | 2021-4-8 22:59 | 只看该作者
有的芯片(比如DSP)有流水线的总线技术,可以预读,以缩短指令周期。具体的需要查看该芯片的技术手册

使用特权

评论回复
19
tian111| | 2021-4-8 23:02 | 只看该作者
这个是什么芯片?语句执行周期是多少

使用特权

评论回复
20
songqian17| | 2021-4-8 23:04 | 只看该作者
为什么要使用32K的晶振

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

780

主题

8627

帖子

5

粉丝