OpenEdv-开源电子网

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

新人,求助2个问题,一个是关于位带操作的,还有个一个关于时钟函数和延时函数

[复制链接]

4

主题

11

帖子

0

精华

新手上路

积分
47
金钱
47
注册时间
2015-7-20
在线时间
0 小时
发表于 2015-7-20 17:23:16 | 显示全部楼层 |阅读模式
5金钱
#define LED0 PAout(8) // DS0
#define LED1 PDout(2) // DS1
这里使用的是位带操作来实现操作某个 IO 口的 1 个位的,关于位带操作前面已经有介绍,
这里不再多说。需要说明的是,这里可以使用另外一种操作方式实现。
我想问 为甚定义PA8 要定义成OUT 直接定义成PA8不行么?

Stm32_Clock_Init(9);
//系统时钟设置
delay_init(72);
//延时初始化
上面是时钟函数是说是外部8MHZ时钟  写入9之后是不是成了 8*9=72MHZ了
然后延时的参数是72   是不是需要   72MHZ/72=1MHZ=1us了
新手问题
还请帮助

最佳答案

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

1、你看一下PA8out()宏里面还做了其他的东西,所以一个PA8不行的,不可能做成完全的51那种的位带操作。 2、delay_init()函数里面其实就是初始化滴答定时器。
= =新人来了,还请帮助
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2015-7-20 17:23:17 | 显示全部楼层
1、你看一下PA8out()宏里面还做了其他的东西,所以一个PA8不行的,不可能做成完全的51那种的位带操作。
2、delay_init()函数里面其实就是初始化滴答定时器。
开往春天的手扶拖拉机
回复

使用道具 举报

39

主题

598

帖子

0

精华

高级会员

Rank: 4

积分
875
金钱
875
注册时间
2013-12-18
在线时间
41 小时
发表于 2015-7-20 17:23:17 | 显示全部楼层
原子哥的不完全手册上讲的好详细的,如果看不进去书,那也可以啃代码,你看见哪里有问题,就你说的那几个函数,你就是一直go to definition呀,你看看那个到底是干嘛的,就都知道了,可不能光从函数名字面上理解呀。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 20:45

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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