規則:
一、置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;
上一篇:STM32的代碼,跑在RAM里快?還是跑在Flash里快?
下一篇:STM32之SPI的思考
推薦閱讀
史海拾趣
DBM Optix公司成立之初,便致力于在光學通信領域取得技術突破。在初創階段,公司面臨著資金緊張、人才匱乏等多重挑戰。然而,憑借對技術的執著追求和對市場的敏銳洞察,DBM Optix成功研發出了一款具有高性能、高可靠性的光學模塊,這一技術突破迅速獲得了市場的認可,為公司的發展奠定了堅實的基礎。
Fairview Microwave Inc公司成立于1992年,最初只是一個由幾位工程師組成的小團隊,他們致力于開發高質量的射頻和微波組件。在當時,微波技術正逐漸在通信、雷達和衛星通信等領域得到廣泛應用,但市場上缺乏高性能、可靠的組件供應商。Fairview Microwave看到了這個市場空白,決定從適配器、連接器和衰減器等基礎組件入手,憑借精湛的技術和不斷的創新,逐漸在行業內樹立了良好的口碑。
在21世紀初,電子科技正處于蓬勃發展的時期。李華,一位在電子行業摸爬滾打多年的工程師,決定創立自己的公司——華宇創,專注于智能電子設備的研發和生產。創業初期,華宇創面臨著資金短缺、技術瓶頸等諸多挑戰。然而,李華憑借對技術的熱情和堅定的信念,帶領團隊日夜兼程地研發新產品,最終成功推出了首款具有競爭力的智能手環,獲得了市場的初步認可。
華宇創深知品質是企業生存和發展的關鍵。因此,公司建立了嚴格的質量管理體系,從原材料采購到生產過程再到成品檢測,每一個環節都嚴格把控。同時,華宇創還積極參與各類國際認證和標準制定工作,不斷提升產品的品質和性能。這些努力使華宇創的產品在市場上贏得了良好的口碑和信譽,品牌知名度也逐漸提升。
在21世紀初,電子科技正處于蓬勃發展的時期。李華,一位在電子行業摸爬滾打多年的工程師,決定創立自己的公司——華宇創,專注于智能電子設備的研發和生產。創業初期,華宇創面臨著資金短缺、技術瓶頸等諸多挑戰。然而,李華憑借對技術的熱情和堅定的信念,帶領團隊日夜兼程地研發新產品,最終成功推出了首款具有競爭力的智能手環,獲得了市場的初步認可。
進入21世紀,AIRPAX開始積極拓展全球市場。通過與各國企業的合作與交流,AIRPAX的產品逐漸進入歐洲、亞洲等地區,服務于更多國家的客戶。同時,AIRPAX還積極尋求與其他行業領先企業的戰略合作,共同推動電氣保護技術的發展。這些合作不僅提升了AIRPAX的品牌影響力,也為其帶來了更多的商業機會。
WT588D語音芯片在公交車報站器上的應用 手動公交車報站器的市場優勢 公交車報站器,顧名思義就是在公交車上實現語音報站的功能,一鍵進行報站,服務,行車起步提醒等功能,能極大幅度的縮少司機的工作量,從而有效的消除行車安全隱患。也讓乘客在 ...… 查看全部問答∨ |
|
困擾了整整一天的問題,請各位大大幫幫忙! 各位大大,小弟新人,今天因為這個問題困擾了一個了,請各位大大幫幫忙! 驅動程序中明明已經調用了 IoCompleteRequest(Irp, IO_NO_INCREMENT); 為什么在應用程序中還是等不到信號?? -------- ...… 查看全部問答∨ |
|
viod main() { char str[1024]; .... return; } 這樣的程序在嵌入式設備下可能會出現什么問題 應該如何改進 面試題 堆棧小,堆棧溢出的問題?… 查看全部問答∨ |
上次關于注冊表的問題,得到了論壇朋友的很好解決 wince下的注冊表軟件我已經拿到 如果誰需要可以發留言給我 這次對于這個一體機,有新的想法,就是開機都需要sd卡,要不然就是提示請插入sd卡 個人以為可以通過修改注冊表解決 但是上次因為自 ...… 查看全部問答∨ |
現在領導逼著我做文件的透明加密解密(電子文檔安全系統),不知道應該怎么去做,怎么了解驅動開發來完成任務。希望大家幫幫忙!在這先謝了! 對文件進行加密解密,但是對用戶是透明的,應該怎么做 還有是可以針對進程應用對相應的文件進行透明的 ...… 查看全部問答∨ |