問題:當我使用STM32庫函數(shù)對 I/O 口進行賦值時,在頭文件中發(fā)現(xiàn)有四個相關(guān)的函數(shù)可以做這個操作,那么它們有什么區(qū)別呢?
一、GPIO_SetBits
//eg:
GPIO_SetBits(GPIOA, GPIO_Pin_1 | GPIO_Pin_2);
解釋:置位(置1)選擇的數(shù)據(jù)端口位,可以選同端口多位
二、GPIO_ResetBits
//eg:
GPIO_ResetBits(GPIOA, GPIO_Pin_1 | GPIO_Pin_2);
解釋:復(fù)位(置0)選擇的數(shù)據(jù)端口位,可以選同端口多位
三、GPIO_WriteBit
//eg:
GPIO_WriteBit(GPIOA, GPIO_Pin_1 | GPIO_Pin_2, BIT_SET);
解釋:對端口位進行寫操作,支持BIT_SET/BIT_RESET,寫1或?qū)?,可以選同端口多位
四、GPIO_Write
文章來源:http://www.zghlxwxcb.cn/news/detail-467350.html
//eg:
GPIO_Write(GPIOA, 0XFFFF);
解釋:對整個端口直接進行寫操作,0XFFFF代表16位全部寫入1文章來源地址http://www.zghlxwxcb.cn/news/detail-467350.html
五、總結(jié):
函數(shù) | 說明 |
---|---|
GPIO_SetBits | 對 IO進行置位操作,也就是將IO口拉高為1 |
GPIO_ResetBits | 對 IO進行復(fù)位操作,也就是將IO口拉低為0 |
GPIO_WriteBit | 對 IO進行寫操作,僅可以自定義設(shè)置寫0或?qū)?,都0或都1 |
GPIO_Write | 對整個IO端口進行寫操作,0xFFFF 對應(yīng) 0-15 PIN全部置為1;0x0000全部置為0 |
到了這里,關(guān)于STM32 庫函數(shù) GPIO_SetBits、GPIO_ResetBits、GPIO_WriteBit、GPIO_Write 區(qū)別的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!