久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> STM32 >> 瀏覽文章

STM32 同一I/O口下 多個口同時操作

作者:未知   來源:互聯網   點擊數:  更新時間:2014年06月22日   【字體:

主要通過 GPIOx_BSRR 和GPIOx_BSR 兩個寄存器來實現


規則:
一、置GPIOD->BSRR低16位的某位為'1',則對應的I/O端口置'1';而置GPIOD->BSRR低16位的某位為'0',則對應的I/O端口不變。
二、置GPIOD->BSRR高16位的某位為'1',則對應的I/O端口置'0';而置GPIOD->BSRR高16位的某位為'0',則對應的I/O端口不變。
三、置GPIOD->BRR低16位的某位為'1',則對應的I/O端口置'0';而置GPIOD->BRR低16位的某位為'0',則對應的I/O端口不變。

例如:
1)要設置D0、D5、D10、D11為高,而保持其它I/O口不變,只需一行語句:
  GPIOD->BSRR = 0x0C21;// 使用規則一

2)要設置D1、D3、D14、D15為低,而保持其它I/O口不變,只需一行語句:
  GPIOD->BRR = 0xC00A;// 使用規則三

3)要同時設置D0、D5、D10、D11為高,設置D1、D3、D14、D15為低,而保持其它I/O口不變,也只需一行語句:
  GPIOD->BSRR = 0xC00A0C21;// 使用規則一和規則二

 

如果使用了PD口的PD8-PD15高8位,假設data為8位要寫入的數據:

GPIO_SetBits(GPIOD, data & 0xff00);
GPIO_ResetBits(GPIOD, (~data & 0xff00));

也可以直接操作這兩個寄存器:
GPIOD->BSRR = data & 0xff00;
GPIOD->BRR = ~data & 0xff00;

 

如果使用了PD口的PD0-PD7低8位,假設data為8位要寫入的數據:

GPIO_SetBits(GPIOD, data & 0x00ff);
GPIO_ResetBits(GPIOD, (~data & 0x00ff));

也可以直接操作這兩個寄存器:
GPIOD->BSRR = data & 0x00ff;
GPIOD->BRR = ~data & 0x00ff;

關閉窗口

相關文章

主站蜘蛛池模板: 精品欧美一区二区中文字幕视频 | 91在线精品一区二区 | 国产精品亚洲综合 | xx性欧美肥妇精品久久久久久 | 亚洲精品一区二区三区四区高清 | 午夜寂寞影院在线观看 | 大香在线伊779| 亚洲欧美日韩在线一区二区 | 国产精品一区二 | 91av在线免费播放 | 九九伊人sl水蜜桃色推荐 | 91精品久久久 | 日日噜噜夜夜爽爽狠狠 | av永久| 久久久久国产精品一区三寸 | 日韩免费在线视频 | 免费观看一级特黄欧美大片 | 一级免费在线视频 | 99视频在线免费观看 | 欧美区精品 | 九九热在线观看视频 | 久久四虎 | 91精品久久久久久久 | 久久精品一区 | 欧美视频免费在线观看 | 国产亚洲精品一区二区三区 | 亚洲在线视频 | 国产乱码久久久 | 男人影音| 美女在线一区二区 | 日日干日日 | 色就是色欧美 | 男女羞羞视频在线免费观看 | 91精品国产综合久久久亚洲 | 国产一区二区三区高清 | 欧美精品一区免费 | 自拍偷拍亚洲欧美 | 欧美激情综合五月色丁香小说 | 91免费版在线观看 | 亚洲免费在线 | 亚洲精品68久久久一区 |