OpenEdv-开源电子网

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

STM32F103xx延时单位为纳秒

[复制链接]

27

主题

91

帖子

0

精华

初级会员

Rank: 2

积分
137
金钱
137
注册时间
2014-8-11
在线时间
3 小时
发表于 2014-9-19 10:19:58 | 显示全部楼层 |阅读模式
5金钱
请教各位大仙: 由于一个软件定义的SPI协议,需要时钟周期为500ns,  STM32F103xx延时单位为纳秒,这个怎么实现啊? 原子大师的延时函数最小都是1us,实现不了SPI通信。先请各位专家支招,求助各位先辈们!

最佳答案

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

回复【3楼】xinshou: --------------------------------- 修改主时钟频率以及倍频关系。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-9-19 10:19:59 | 显示全部楼层
回复【3楼】xinshou:
---------------------------------
修改主时钟频率以及倍频关系。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

109

主题

1606

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2222
金钱
2222
注册时间
2011-12-15
在线时间
37 小时
发表于 2014-9-19 10:32:36 | 显示全部楼层
这个这么小啊,我也没招。
专业制作STM32 物联网通信模块板,模块交流群:369840039。
回复

使用道具 举报

27

主题

91

帖子

0

精华

初级会员

Rank: 2

积分
137
金钱
137
注册时间
2014-8-11
在线时间
3 小时
 楼主| 发表于 2014-9-19 12:58:55 | 显示全部楼层
哎,就是啊,我需要的时钟频率是900KHZ。官方的内置的外设SPI的时钟就规定死了8种,不知道怎么改成所需要的时钟频率,还是根本就不能改,只能用这8种之一。

#define SPI_BaudRatePrescaler_2         ((uint16_t)0x0000)
#define SPI_BaudRatePrescaler_4         ((uint16_t)0x0008)
#define SPI_BaudRatePrescaler_8         ((uint16_t)0x0010)
#define SPI_BaudRatePrescaler_16        ((uint16_t)0x0018)
#define SPI_BaudRatePrescaler_32        ((uint16_t)0x0020)
#define SPI_BaudRatePrescaler_64        ((uint16_t)0x0028)
#define SPI_BaudRatePrescaler_128       ((uint16_t)0x0030)
#define SPI_BaudRatePrescaler_256       ((uint16_t)0x0038)

而如果要自己用软定义SPI,又搞不出500ns的延时,郁闷啊!
回复

使用道具 举报

22

主题

2254

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4486
金钱
4486
注册时间
2013-4-22
在线时间
337 小时
发表于 2014-9-19 13:02:27 | 显示全部楼层
真的需要那么快?
回复

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-9-19 13:05:55 | 显示全部楼层
慢点不行么???
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

14

主题

490

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1229
金钱
1229
注册时间
2012-8-4
在线时间
248 小时
发表于 2014-9-19 16:19:35 | 显示全部楼层
回复【3楼】xinshou:
---------------------------------
 SPI通信不需要特定频率的呀,为什么一定要900k
nrf51822蓝牙4.0手环开发板: 淘宝小店
回复

使用道具 举报

27

主题

91

帖子

0

精华

初级会员

Rank: 2

积分
137
金钱
137
注册时间
2014-8-11
在线时间
3 小时
 楼主| 发表于 2014-9-19 23:13:28 | 显示全部楼层
因为另外一个配对的SPI主机的时钟频率这么快,这个主机的频率不能被修改。
回复

使用道具 举报

27

主题

259

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
387
金钱
387
注册时间
2014-8-19
在线时间
0 小时
发表于 2014-10-8 22:00:00 | 显示全部楼层
回复【3楼】xinshou:
---------------------------------
最大18M,分频18M/900K=20,  你选 32那一档,差不多,不知我说的对不
回复

使用道具 举报

81

主题

185

帖子

0

精华

高级会员

Rank: 4

积分
534
金钱
534
注册时间
2013-7-4
在线时间
13 小时
发表于 2014-10-9 14:06:50 | 显示全部楼层
差不多45((0.5/(1/72M))*1.25)个时钟周期的时间,不知道误差就不知道多大了........
回复

使用道具 举报

27

主题

91

帖子

0

精华

初级会员

Rank: 2

积分
137
金钱
137
注册时间
2014-8-11
在线时间
3 小时
 楼主| 发表于 2014-12-3 09:56:12 | 显示全部楼层
非常感谢啊。
回复

使用道具 举报

27

主题

91

帖子

0

精华

初级会员

Rank: 2

积分
137
金钱
137
注册时间
2014-8-11
在线时间
3 小时
 楼主| 发表于 2014-12-5 12:50:08 | 显示全部楼层
感谢,这是一个好思路。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-28 06:27

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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