- IMX有124個(gè)IO 考余。IO并非GPIO 先嬉, GPIO只是IO的功能。IMX有5組GPIO楚堤。GPIO1組有32個(gè)IO疫蔓,GPIO2有22個(gè),GPIO3有29個(gè)身冬,GPIO429個(gè)
GPIO5有12個(gè)衅胀。
2.跟STM32一樣,IMX也需要開啟GPIO時(shí)鐘酥筝, 寄存器CCM_CCGR0~CCM_CCGR6控制著所有外設(shè)的時(shí)鐘滚躯,不只有GPIO的時(shí)鐘。
3.舉例:用GPIO1組的IO 00腳
IOMUXC_SW_MUX_CTL_PAD_GPIO1_IO00設(shè)置IO復(fù)用功能為GPIO
IOMUXC_SW_PAD_CTL_PAD_GPIO1_IO00設(shè)置GPIO的屬性嘿歌,跟STM32一樣但功能比單片機(jī)多
包括上拉哀九,下拉,速度搅幅,狀態(tài)。呼胚。茄唐。
4.ICR1,ICR2寄存器分別用于配置低16個(gè)GPIO和高16個(gè)GPIO的中斷蝇更,為什么是16個(gè)沪编?因?yàn)镚PIO分為5組,每組最多32個(gè)GPIO .
每個(gè)GPIO占用2位年扩, 2位用來設(shè)置這個(gè)GPIO到底是什么觸發(fā)蚁廓,上升沿觸發(fā),下降沿觸發(fā)厨幻,高電平觸發(fā)相嵌,低電平觸發(fā)。
5.IMR寄存器32位况脆,一位對(duì)應(yīng)一個(gè)GPIO當(dāng)對(duì)應(yīng)位置1 饭宾, 這個(gè)GPIO就上下沿即雙邊沿觸發(fā)中斷,這個(gè)設(shè)置覆蓋ICR1和ICR2.
①格了、使能 GPIO 對(duì)應(yīng)的時(shí)鐘看铆。
②、設(shè)置寄存器 IOMUXC_SW_MUX_CTL_PAD_XX_XX盛末,設(shè)置 IO 的復(fù)用功能弹惦,使其復(fù)用
為 GPIO 功能否淤。
③、設(shè)置寄存器 IOMUXC_SW_PAD_CTL_PAD_XX_XX棠隐,設(shè)置 IO 的上下拉石抡、速度等等。
④宵荒、第②步已經(jīng)將 IO 復(fù)用為了 GPIO 功能汁雷,所以需要配置 GPIO,設(shè)置輸入/輸出报咳、是否使
用中斷侠讯、默認(rèn)輸出電平等。