首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

STM32 多IO口 与此同时配置

2013-01-05 
STM32 多IO口 同时配置IO口单独配置可如下:#define A1 PCout(6)#define B1 PCout(7)RCC-APB2ENR|14//

STM32 多IO口 同时配置
IO口单独配置可如下:
#define A1 PCout(6)
#define B1 PCout(7)
RCC->APB2ENR|=1<<4;              //I/O port C enable clock 
GPIOC->CRL&=0X00FFFFFF; //C6&7 init
GPIOC->CRL|=0X33000000; //set C6&7 push-pull ouput 50MHZ mode 
GPIOC->ODR=1<<6;         //set C6&7 output high
GPIOC->ODR=1<<7;
请问怎么同时配置PB从0到7口?谢谢!
[解决办法]
GPIOB->ODR = 0x00FF;
[解决办法]
为什么不用厂商提供的接口?

非要自己直接去摸寄存器?
[解决办法]

引用:
新手不会,还没学习到库函数什么的,所以只能从底层做起,我想这样也更容易理解ARM.


还是先理解C语言吧。看到1<<6这种东西就应该知道0100 0000那么多空着的0都是其它引脚。你想把哪个置1就给那个位写1。数字准备好了之后一次赋值就行了。不只是STM32,换个片子只要是这么写的都这么用。
[解决办法]
引用:
新手不会,还没学习到库函数什么的,所以只能从底层做起,我想这样也更容易理解ARM.


我现在倒觉得,更是新手,更应该先从库入手

这样可以先把底层复杂性给掩盖住。

先把活干完,如果真有时间,真想去纠结这个。再慢慢去弄


[解决办法]
引用:
新手不会,还没学习到库函数什么的,所以只能从底层做起,我想这样也更容易理解ARM.

说老实话,寄存器操作不见得就更容易理解ARM。STM32寄存器这么多,一个影响开发效率,再者后期维护很麻烦,赞同版主,直接库函数用起,库函数内部也是对寄存器的操作,感兴趣直接进去看就好了。

热点排行