OpenEdv-开源电子网

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

原子老师,这样写有错吗?

[复制链接]

7

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
194
金钱
194
注册时间
2012-2-28
在线时间
35 小时
发表于 2012-3-8 16:13:38 | 显示全部楼层 |阅读模式

 RCC->APB2ENR|=1<<2;    //使能PORTA时钟     
 RCC->APB2ENR|=1<<7;    //使能PORTF时钟 
     
 GPIOA->CRL&=0XFFFFFF0F;
 GPIOA->CRL|=0X00000030;//PA1 推挽输出    
    GPIOA->ODR|=1<<1;      //PA1 输出高
            
 GPIOF->CRL&=0X00FFFFFF;
 GPIOF->CRL|=0X33000000;//PF.6,7推挽输出
 GPIOF->ODR|=1<<6;      //PF.6输出高 
 GPIOF->ODR|=1<<7;      //PF.7输出高
 
 
    GPIOF->CRH&=0XFFFFF000;
 GPIOF->CRH|=0X00000333;//PF.8,9,10推挽输出
 GPIOF->ODR|=1<<8;      //PF.8输出高 
 GPIOF->ODR|=1<<9;      //PF.9输出高 

 GPIOF->ODR|=1<<10;     //PF.10输出高 
另,这里是否可改成

GPIOF->ODR=0x0700;   //PF.8,9,10输出高 

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2201
金钱
2201
注册时间
2012-2-8
在线时间
35 小时
发表于 2012-3-8 16:24:48 | 显示全部楼层
GPIOA->CRL&=0XFFFFFF0F; 
 GPIOA->CRL|=0X00000030;//PA1 推挽输出     

这个能不能实现注释上说的功能我不知道,但是建议,对于寄存器操作,

最好是先把寄存器的值读到一个变量,然后修改这个变量的值,再写回寄存器。
因为:
上面的那两句,从第一句执行到第二句,会有一定的时间差,而你第一次写的值不是你想要的结果,会发生什么事情我也不清楚。
如果是在特殊的应该场合你也这么做,产生个窄脉冲,那你就悲剧了。写程序最好有个好的习惯,是很重要的。
https://github.com/roxma
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-3-8 17:33:01 | 显示全部楼层
回复【楼主位】youjianbaba:
---------------------------------
你最后那里,一改,其他IO都跟着改了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

27

主题

274

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
472
金钱
472
注册时间
2011-11-2
在线时间
11 小时
发表于 2012-3-9 20:27:26 | 显示全部楼层
确实啊,最后一句悲剧了。
回复 支持 反对

使用道具 举报

11

主题

49

帖子

0

精华

初级会员

Rank: 2

积分
118
金钱
118
注册时间
2012-2-17
在线时间
0 小时
发表于 2012-3-9 20:38:14 | 显示全部楼层
回复【3楼】正点原子:

---------------------------------
原子的意思是必须要统一吗?
我也有这样的问题,就是那些寄存器可以字操作,哪些可以位操作,这个糊涂了
那些年,我们一起走过的日子...
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-3-10 00:22:32 | 显示全部楼层
回复【5楼】成可风:
---------------------------------
需要字节操作的时候,就字节操作.需要位操作的就位操作.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-16 12:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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