Uboot中點亮LED燈

2021-06-20 04:41:02 字數 1320 閱讀 3023

1、硬體要求

(1)at91sam9260平台(2)

pc6、

pc10

兩個引腳連測試板的兩個

led燈 2、

u-boot版本

u-boot-1.3.4

3、實現過程

在原始碼 /u-boot-1.3.4/board/atmel/at91sam9260ek/at91sam9260ek.c

檔案的中做如下操作: (1

)定義led

燈管腳

#define    red_led  at91_pin_pc6    /* this is the power led */

#define    green_led   at91_pin_pc10   /* this is the user led */

pc6管腳連裝置上的黃燈,pc10

管腳連裝置上的紅燈。

(2)新增

led燈初始化函式

void coloured_led_init(void)

/* enable clock */

at91_sys_write(at91_pmc_pcer, 1 << at91sam9260_id_pioa);

printf("coloured_led_init--------------------\n");

at91_set_gpio_output(red_led, 1);

at91_set_gpio_output(green_led, 0);

at91_set_gpio_value(red_led, 0);

at91_set_gpio_value(green_led, 1);   

(3)呼叫

led燈初始化函式及置輸出狀態

如以下**所示:在int board_init(void) 

函式中紅色字型為呼叫

led燈初始化函式及設定兩個管腳輸出為高電平。

int board_init(void)

#ifdef config_has_lcdc

//      at91sam9260ek_smc0_init();

lcd_init();

#ifdef config_macb

at91sam9260ek_macb_hw_init();

#endif

coloured_led_init();

at91_set_gpio_value(red_led, 1);

at91_set_gpio_value(green_led, 1);

return 0;

4、編譯除錯

時就會看到裝置上的這兩個led燈亮起。

點亮LED燈(一)

想當初都是用彙編來編寫微控制器的程式,那滋味現在想來都是滿滿的回憶,還是用c語言寫起來爽快啊!用c寫微控制器程式,只需要引入標頭檔案即可,實際上該標頭檔案只是定義了特殊功能暫存器位址。為了今後使用方便,我們封裝乙個函式,用來開關led燈,通過引數來控制操作的p埠,並且引入掩碼來操作單個和多個bit位...

按鍵點亮LED燈(中斷)

設定pb11為下降沿觸發,初始化中斷模式 gpio inittypedef gpio initstructure exti inittypedef exti initstructure nvic inittypedef nvic initstructure 配置管腳時鐘和復用時鐘 rcc apb2p...

Rt thread Nano學習 點亮LED燈

要點亮led之前,首先建立rt thread nano的執行環境,關於建立執行環境的教程有很多,這裡就不多贅述。開啟 相應目錄下的 driver 資料夾,將gpio.h gpio.c,複製到自己的工程資料夾 gpio.c檔案中存放著關於gpio引腳的巨集定義以及關於stm32庫檔案的重定義 然後在主...