stm32F4的IO口可不可以整组操作

2019-07-20 10:34发布

32的一组IO口可不可以像51那样整体操作
#define DIG P0
#define KEY P1

P0=0xaadd之类的
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
DreamWaterPro
1楼-- · 2019-07-20 13:23
志存高远 发表于 2017-12-4 13:09
能举个栗子吗,新手上路,略有懵逼

标准库中有这样的函数:
1.png

所以,如果需要对PA口写0xaa55的话,这样调用库函数就可以了:

[mw_shl_code=c,true]GPIO_Write(GPIOA,0xaa55);[/mw_shl_code]

如果使用寄存器也一样:

[mw_shl_code=c,true]GPIOA->ODR = 0xaa55;[/mw_shl_code]

同样地也有对GPIO口整组的读操作:

2.png

如果需要将PA口数据直接保存到变量tmp的话可以这样写:

[mw_shl_code=c,true]tmp=GPIO_ReadInputData(GPIOA);[/mw_shl_code]

如果使用寄存器方式:

[mw_shl_code=c,true]tmp=(u16)(GPIOx->IDR);[/mw_shl_code]

对于HAL库我还没有学习过,所以暂时无法给你栗子。




caosix
2楼-- · 2019-07-20 19:14
 精彩回答 2  元偷偷看……
志存高远
3楼-- · 2019-07-21 00:50
caosix 发表于 2017-12-4 13:00
当然 可以 的 ,读写 该Port 对应的 定义名字 就成 。

能举个栗子吗,新手上路,略有懵逼
志存高远
4楼-- · 2019-07-21 06:14
自顶........
志存高远
5楼-- · 2019-07-21 11:39
 精彩回答 2  元偷偷看……
caosix
6楼-- · 2019-07-21 12:55
志存高远 发表于 2017-12-4 13:09
能举个栗子吗,新手上路,略有懵逼

直接看 这个帖子 ——

求问:HAL库 什么函数 对 8位 或16位一次读入、写出?

核心::俺要的 就是这么 一句话 :
HAL 中也能用  In_PortA = GPIOA->IDR;  

一周热门 更多>