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庫檔案的重定義 然後在主...