C6748的GPIO口配置使用


 

2018年1月17日更新:

  這幾天用了創龍的C6748的庫,對於GPIO配置十分不爽,我移植了RK6748的庫,用起來十分酸爽,把下面的文件加入到工程中,然后include頭文件后就可以使用。非常好使。

  鏈接:https://pan.baidu.com/s/1c2RVBOW 密碼:umra

  以下文章都是基於這個庫的。

  請配置后使用!

 

以下是原文:

 

  這幾天做項目,用到了TMS320C6748這個DSP,用的是ROCK的板子,要驅動RF24L01,用的是模擬SPI時序,對於GPIO口的配置弄了好久,終於弄清楚了。C6748好像不像是C5509A一樣有統一的CSL庫文件,只在他的Demo板中提供了編程的簡單的庫,我后來也沒移植官方Demo的庫,直接使用的ROCK板子提供的第三方庫(可能是板子的廠家自己改裝的Demo里面的庫)。廢話不多說了。進入正題。

   

1->GPIO口接線方式

   

 

2-> GPIO口配置

2.1->MUX寄存器配置

  GPIO口C6748一個引腳可能復用四五個功能,所以這個地方配置有點說道,跟一般的嵌入式設備不同。看初始化GPIO的例程:

void GPIO_INIT( void )
{
    RK6748_pinmuxConfig(13,0x80088808,0x80088808);
    RK6748_pinmuxConfig(18,0x00800000,0x00800000);
    RK6748_pinmuxConfig(19,0x00800000,0x00800000);
GPIO_setDir( GPIO_BANK6, GPIO_PIN13, GPIO_INPUT );
// IRQ GPIO_setDir( GPIO_BANK6, GPIO_PIN15, GPIO_OUTPUT ); // MOSI GPIO_setDir( GPIO_BANK6, GPIO_PIN1, GPIO_OUTPUT ); // CSN GPIO_setDir( GPIO_BANK6, GPIO_PIN11, GPIO_INPUT ); // MISO GPIO_setDir( GPIO_BANK6, GPIO_PIN12, GPIO_OUTPUT ); // SCK GPIO_setDir( GPIO_BANK0, GPIO_PIN8, GPIO_OUTPUT ); // CE printf("GPIO initi finish! \n"); }

  主要就是前三句RK6748_pinmuxConfig()這個函數是對功能寄存器的配置,研究了好久,資料也沒說這塊,看了好幾個文檔。最后自己研究出來了。

  配置GPIO口先調用RK6748_pinmuxConfig(Uint32 reg, Uint32 in_mask, Uint32 val);三個參數。這三個參數的值需要運行Pin Mux Ultility工具軟件獲得。如圖4.5所示為Pin Mux Ultility軟件界面。

 

圖4.5 Pin Mux Utility軟件界面

  如圖4.5中兩個紅框,在紅框內選擇我們要使用GPIO口,在本設計中如圖3.1b所示連線圖,驅動RF24L01用到了IO6_13,IO6_15,IO0_2,IO6_11,IO6_12,IO6_11, IO6_12,IO0_8,這些引腳和RF24L01的IRQ,MOSI,CSN,MISO,SCK,CE信號線和數據線相連。則需要在Pin Mux Utility軟件中使能這些IO口。圖中4.5中在1處選擇DSP信號,然后在2處選擇上述提到的GPIO口,雙擊后使能,背景會如圖中變綠,在3處查看寄存器值,這些寄存器值就是編程時需要用到的,分別是PINMUX0:0x800000000,PINMUX1:0x008000000,PINMUX13:0x0088808,在配置DSP的IO引腳的MUX寄存器時,輸入以下參數:

      RK6748_pinmuxConfig(0, 0x8000000000, 0x8000000000);

      RK6748_pinmuxConfig(1, 0x00800000, 0x00800000);

      RK6748_pinmuxConfig(13, 0x0088808, 0x0088808);

  完成GPIO口的使能配置。

  之后通過GPIO_setDir( GPIO_BANK6, GPIO_PIN13, GPIO_INPUT ); 語句配置GPIO口的方向,上述語句是配置IO6_13為輸入方向,同理對其他引腳進行操作也是按照這個語句稍作修改。

 

      附帶這個軟件的下載地址:http://download.csdn.net/detail/u014281970/9824202

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM