STM32中怎样读取GPIOA口的高8位或低8位数据?怎样向GPIOA的高8位或低8位1次性写8位数

STM32中怎样读取GPIOA口的高8位或低8位数据?怎样向GPIOA的高8位或低8位1次性写8位数据?... STM32中怎样读取GPIOA口的高8位或低8位数据?怎样向GPIOA的高8位或低8位1次性写8位数据? 展开
 我来答
钓笠秋雨蓑衣2
2015-05-04 · 超过63用户采纳过TA的回答
知道答主
回答量:162
采纳率:100%
帮助的人:58.4万
展开全部
您好,STM32的GPIO口的功能是非常之强大的。关于GPIO输出的赋值可使用两种方法,方法A:逐一配置法,优点是不会影响到其它的GPIO口,缺点是操作比较繁琐。方法B:ODR设置法,优点是操作轻松,缺点是需要硬件电路作配合。下面我们详细描写这两种方法:方法A:所谓逐一配置法, 就是对需要输出数据的IO口线逐一配置,需要输出为1的IO口使用GPIOx-BSS = 1 N; (N表示第N根线,如PA9, N值为9)需要输出为0的IO口使用GPIOx-BRSS = 1 N;使用以下语句可以完成//to do 先将输出口配置为输出功能for( i = start; i end; i++ ){ if( value BSS = 1 i; } else { GPIOx-BRSS = 1 i; }}方法B: ODR配置法,可以直接使用 GPIO-ODR = value N;给对应的IO口进行输出操作。但是此时在硬件上要保证:1 该功能口(如GPIOA)上的其余的IO口不作为普通的IO输出口使用(由于是键盘扫描,当列输出的时候,行应当是输入;同理,当列输入时,行应当是输出)2 行列以外的GPIO口,要末是普通的IO输入口,要末是功能口。功能口就是UART、USB、PWM、ADC等,对GPIO的ODR进行操作时,不会对功能口产生影响。以上第2条是对第1条的详细解释。总结:如果在硬件上可以满足方法B的利用条件,建议优先采取方法B。在其它1些需要使用并行输出,如并口液晶、NandFlash等应当的时候,也能够斟酌使用方法B。 查看更多答案>>

记得采纳啊
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式